$xb) {
$i1=$i1-$xb+$xv;
}
for ($j = $yv; $j <=$yb; $j++) {
$j1=$j+1;
$j2=$j-1;
if ($j2 < $yv) {
$j2=$j2+$yb-$yv;
}
if ($j1 > $yb) {
$j1=$j1-$yb+$yv;
}
# Potential glätten
if ($i%2==0) {
$dummy=$selbst*$a[$i][$j]+$a[$i][$j1]+$a[$i][$j2]+$a[$i2][$j2]+$a[$i2][$j]+$a[$i1][$j2]+$a[$i1][$j];
} else {
$dummy=$selbst*$a[$i][$j]+$a[$i][$j1]+$a[$i][$j2]+$a[$i2][$j]+$a[$i2][$j1]+$a[$i1][$j]+$a[$i1][$j1];
}
$b[$i][$j]=$k*$dummy;
}
}
$a=$b;
}
$amax=-10000;
$amin=10000;
$k=0;
for ($i = $xv; $i <=$xb; $i++) {
for ($j = $yv; $j <=$yb; $j++) {
$k=$k+1;
$amax=max($amax,$a[$i][$j]);
$amin=min($amin,$a[$i][$j]);
}
}
$panz=$k;
$danz=$k;
$k=0;
$ateil=1/($amax-$amin);
for ($i = $xv; $i <=$xb; $i++) {
$i1=$i+1;
$i2=$i-1;
if ($i2 < $xv) {
$i2=$i2+$xb-$xv;
}
if ($i1 > $xb) {
$i1=$i1-$xb+$xv;
}
for ($j = $yv; $j <=$yb; $j++) {
$j1=$j+1;
$j2=$j-1;
if ($j2 < $yv) {
$j2=$j2+$yb-$yv;
}
if ($j1 > $yb) {
$j1=$j1-$yb+$yv;
}
# Gradient bestimmen
if ($i%2==0) {
$d1=$a[$i][$j2]-$a[$i][$j];
$d2=$a[$i][$j1]-$a[$i][$j];
$d3=$a[$i2][$j2]-$a[$i][$j];
$d4=$a[$i2][$j]-$a[$i][$j];
$d5=$a[$i1][$j2]-$a[$i][$j];
$d6=$a[$i1][$j]-$a[$i][$j];
} else {
$d1=$a[$i][$j2]-$a[$i][$j];
$d2=$a[$i][$j1]-$a[$i][$j];
$d3=$a[$i2][$j]-$a[$i][$j];
$d4=$a[$i2][$j1]-$a[$i][$j];
$d5=$a[$i1][$j]-$a[$i][$j];
$d6=$a[$i1][$j1]-$a[$i][$j];
}
$dadi=$ky*(-$d3-$d4+$d5+$d6);
$dadj=-$d1+$d2+0.5*(-$d3-$d5+$d4+$d6);
if ($dadi==0 AND $dadj==0) {
$win='no';
} else {
$win=rad2deg(atan2($dadj,$dadi));
}
if ($i%2==0) {
$y=$j;
} else {
$y=$j+0.5;
}
$x=round($i*$ky,2);
$vert=round(($a[$i][$j]-$amin)*$ateil,5);
$k=$k+1;
# für die Ausgabe
$pot[$k][0]=$x*$kr*2;
$pot[$k][1]=$y*$kr*2;
$pot[$k][2]=$vert;
$pot[$k][3]=$win+$dw;
}
}
$pot[$k+1][0]=$pot[$k][0]+10000;
# Farben laden
$farben = file($fname);
$fzeilen = count($farben);
for ($j = 0; $j <$fzeilen; $j++) {
$foo = preg_replace("/\s{2,}/", " ", $farben[$j]);
$c = explode(" ", trim($foo));
if ($ftyp <0 ) {
$jj=$fzeilen-$j-1;
} else {
$jj=$j;
}
$fr=$c[0];
$fg=$c[1];
$fb=$c[2];
#$fc[$j]="rgb($fr,$fg,$fb)";
$fc[$jj]=hex($fr,$fg,$fb);
}
unset($farben);
# Größe der viewBox bestimmen
$vbx=round(($xv-2)*$kr*$ky*2);
$vby=round(($yv-2)*$kr*2);
$vbw=round(($xb-$xv+4)*$kr*$ky*2);
$vbh=round(($yb-$yv+4)*$kr*2);
$viewBox="$vbx $vby $vbw $vbh";
# Gradientdarstellung
$dipd='';
if ($qtyp !=-1) {
# Pfeil mit Drehpunkt 0,0 am Ende
if ($qtyp == 0) {
$dipd='
';
# Pfeil mit Drehpunkt 0,0 in der Mitte
} elseif ($qtyp == 1) {
$dipd='
';
# spitzes Dreieck, Drehpunkt 0,0 am dicken Ende
} elseif ($qtyp == 2) {
$dipd='
';
# spitze Kurve, Drehpunkt 0,0 am dicken Ende
} elseif ($qtyp == 3) {
$dipd='
';
# Balken
} elseif ($qtyp == 4) {
$dipd='';
# Drei Kreise
} else {
$dipd='
';
}
# Kreis für Gradient 0
$dc=10*$ds;
$dipd.="
";
}
# Hexagon
$hg=1.05;
$hf=sqrt(3.0/2.0);
$lx=$kr/2*$hf*$hg;
$ly=$kr*$hf*$hg;
$lz=$kr*$hg;
$hex="
";
if ($gauss != 0) {
$raus='
';
} else {
$raus='';
}
# Potential raushauen
$raus.='
';
$x=$pot[1][0];
$raus.="
";
for ($j = 1; $j <=$panz; $j++) {
$w=round($pot[$j][2]*($fzeilen-1));
$y=$pot[$j][1];
$raus.="
";
} else {
$raus.="/>
";
}
if ($pot[$j+1][0] != $pot[$j][0]) {
$raus.='
';
if ($j != $panz) {
$x=$pot[$j+1][0];
$raus.="
";
}
}
}
$raus.='
';
# spiegeln ...
if ($as == 1) {
$raus.='
';
}
# Gaussfilter zu
if ($gauss != 0) {
$raus.='
';
}
if ($qtyp !=-1) {
# Gradient rüber
$raus.='
';
$x=$pot[1][0];
$raus.="
";
for ($j = 1; $j <=$danz; $j++) {
$x=$pot[$j][0];
$y=$pot[$j][1];
if ($pot[$j][3] !='no') {
$win=round($pot[$j][3]);
if ($title==1) {
$raus.="
";
} else {
$raus.="
";
}
} else {
$raus.="
";
}
if ($pot[$j+1][0] != $pot[$j][0]) {
$raus.='
';
if ($j != $panz) {
$x=$pot[$j+1][0];
$raus.="
";
}
}
}
$raus.='
';
# spiegeln ...
if ($as == 1) {
$raus.='
';
}
}
# Bild in Speicher schreiben
ob_start();
echo '
';
?>