Seite 1 von 1

Funktionsplotter

Verfasst: 23.06.2004 17:47
von Jack9027
ich möchte mir einen funktionsplotter in php schreiben dazu hab ich mir auf http://de.php.net/manual/de/ref.image.php die funktionen angeschaut. ich hätte gesagt, dass man sowas mit imageline macht oder lieg ich das total falsch?

danke für eure hilfe :wink:

Verfasst: 23.06.2004 17:59
von k-5
bei unstetigen funktionen(bzw bei definitionsluecken) kriegste natuerlich probleme .. (die hat aber eigentlich fast jeder funktionsploter) ..

also ist die antwort NEIN du liegst nicht falsch ..

Verfasst: 23.06.2004 18:39
von Jack9027
ok jetzt hab ich aber noch ein problem. imageline fängt doch in der oberem linken ecke vom bild an. bloss ist das für ein kordinaten system ein bisschen unpassend. wie schaff ich es, dass in der mitte des bild (0/0) ist?

Verfasst: 24.06.2004 21:10
von Jack9027
ok jetzt hab ich mal ein sehr einfaches grundgerüst geschrieben:

Code: Alles auswählen

<?php
header ("Content-type: image/png");

//fenstergröße
$window_size_x = "400";
$window_size_y = "400";

//bild erzeugen
$image = ImageCreate($window_size_x, $window_size_y)  or die ("fehler beim erzeugen");

//hintergrund
$background_color = ImageColorAllocate ($image, 255, 255, 255);

//textfarbe
$text_color = ImageColorAllocate ($image, 233, 14, 91);

//einefach kordinatensysten
imageline ($image, $window_size_x/2, 0, $window_size_x/2, $window_size_y, $text_color);
imageline ($image, 0, $window_size_y/2, $window_size_x, $window_size_y/2, $text_color);

//kordinaten erzeugen
for ($i =-500; $i < 500; $i++)
{
$x_cords[] = $i;
$y_cords[] = $i*$i;
}

//kordinaten eintragen
for($i3=0; $i3 < count($x_cords); $i3++) 
{
$x1= $x_cords[$i3]+$window_size_x/2;

	if ($y_cords[$i3] == 0 )
	{
	  $y1= $y_cords[$i3]+$window_size_y/2;
	}
	else
	{
	 $y1=$window_size_y/2 - $y_cords[$i3];
	}

$x2 =$x_cords[$i3+1]+$window_size_x/2;
	if ($y_cords[$i3+1] == 0 )
	{
	  $y2= $y_cords[$i3+1]+$window_size_y/2;
	}
	else
	{
	 $y2=$window_size_y/2 - $y_cords[$i3+1];
	}


imageline ($image, $x1, $y1, $x2, $y2, $text_color);
} 

ImagePNG($image);
?>
ich versteh bloss nicht warum so komisch sachen enstehen :-?
sehen kann man das hier

Verfasst: 25.06.2004 11:57
von k-5
naja des is ne simple nach unten geoefnette recht gestreckt parabel ..

nach unten: is recht klar .. da du ja alles nach unten antraegst .. somit der 1 quatrant bei dir unten rechts ist ..

gestreckt: soltest mal dein koordinaten system ueberpruefen .. ein pixel pro einheit is weng arg viel .. meinst ned ?

im endeffekt macht er _genau_ das was er sollte .. nur verstehst du ned so ganz was du selbst gemacht hast ..

Verfasst: 25.06.2004 14:23
von Jack9027
k-5 hat geschrieben:gestreckt: soltest mal dein koordinaten system ueberpruefen .. ein pixel pro einheit is weng arg viel .. meinst ned ?
das ist mir schon klar, mir fällt aber auch nichts ein wie ich das ändern soll... :-?