1000) ){
$anz=mt_rand(10,20);
}
} else {
$anz=mt_rand(10,20);
}
$anz=$anz-1;
if(isset($_GET['g'])) {
$g=$_GET['g'];
} else {
$g=1;
}
# Datensatz erzeugen - offene Kurve
$cop1="";
$kk=0;
$runden=1.75;
for ($j = 0; $j <= $anz; $j++) {
$ww=($j/$anz+$kk*mt_rand(-1000,1000)/100000)*$runden*2*M_PI;
$rr=55.0-$j/$anz*50.0+$kk*mt_rand(-1000,1000)/1000;
$xx=$rr*cos($ww)+$kk*mt_rand(-1000,1000)/1000;
$yy=$rr*sin($ww)+$kk*mt_rand(-1000,1000)/1000;
$data[$j][0]=round($xx,2);
$data[$j][1]=round($yy,2);
$cop1 .='';
}
$cop0="";
for ($j = 0; $j <= 10*$anz; $j++) {
$ww=($j/$anz/10+$kk*mt_rand(-1000,1000)/100000)*$runden*2*M_PI;
$rr=55.0-$j/$anz/10*50.0+$kk*mt_rand(-1000,1000)/1000;
$xx=$rr*cos($ww)+$kk*mt_rand(-1000,1000)/1000;
$yy=$rr*sin($ww)+$kk*mt_rand(-1000,1000)/1000;
$datax=round($xx,2);
$datay=round($yy,2);
$cop0 .='';
}
# Alternative Schaetzung der Ableitungen mit besserer Genauigkeit,
# falls diese bei dem Datensatz nicht gegeben sind.
$diff[0][0]=round($data[0][0]+$g*(-3*$data[0][0]+4*$data[1][0]-$data[2][0])/6,2);
$diff[0][1]=round($data[0][1]+$g*(-3*$data[0][1]+4*$data[1][1]-$data[2][1])/6,2);
$diff[0][2]=round($data[0][0]-$g*(-3*$data[0][0]+4*$data[1][0]-$data[2][0])/6,2);
$diff[0][3]=round($data[0][1]-$g*(-3*$data[0][1]+4*$data[1][1]-$data[2][1])/6,2);
$diff[$anz][2]=round($data[$anz][0]+$g*(-3*$data[$anz][0]+4*$data[$anz-1][0]-$data[$anz-2][0])/6,2);
$diff[$anz][3]=round($data[$anz][1]+$g*(-3*$data[$anz][1]+4*$data[$anz-1][1]-$data[$anz-2][1])/6,2);
for ($j = 1; $j <= ($anz-1); $j++) {
$jm1=$j-1;
$jp1=$j+1;
$diff[$j][2]=round($data[$j][0]-$g*($data[$jp1][0]-$data[$jm1][0])/6,2);
$diff[$j][3]=round($data[$j][1]-$g*($data[$jp1][1]-$data[$jm1][1])/6,2);
}
# Daraus Pfad bestimmen
$cop2='';
$cop2.='';
$pfadb='M'.$data[0][0].' '.$data[0][1].'C'.$diff[0][0].' '.$diff[0][1].' '.$diff[1][2].' '.$diff[1][3].' '.$data[1][0].' '.$data[1][1]."S\n";
for ($j = 2; $j <=$anz; $j++) {
$pfadb.=$diff[$j][2].' '.$diff[$j][3].' '.$data[$j][0].' '.$data[$j][1]."\n";
$cop2 .='';
}
# svg-header senden:
$content="Content-type: image/svg+xml";
header($content);
echo "";
?>