Formel umwandeln

Bis auf die Darstellung ist in dem Code doch im Prinzip alles enthalten.
Für die Darstellung müsstest Du Dich mit den Grafikfunktionen von PHP beschäftigen.
fabilazar hat gesagt.:
Du hättest nicht zufällig Lust mir bei meinem PHP-Problem(Aufgabe) zu helfen
Helfen tue ich gerne, aber nur, wenn die Fragen konkreter sind ;) Ist ja Deine Klausuraufgabe und nicht meine :D

Hinweise:
Du erzeugst ein Bild ([phpf]imagecreate[/phpf])
Du musst irgendwie Farben definieren ([phpf]imagecolorallocate[/phpf]). Frag mich bitte nicht genauer, wie das geht, das ist schon zu lange her.
Du erzeugst Dir (x/y)-Paare, siehe oben.
Diese Koordinaten projezierst (simpelste Mathematik, wie mein Mathelehrer immer zu sagen pflegte) Du entsprechend der Bildbreite und dem Funktionsauschnitt, den Du darstellen willst.

Nun zeichnest Du eine Line nach der anderen, immer vom jetzigen Punktepaar zum nächsten ([phpf]imageline[/phpf]).

Am Ende schickst Du das Bild an den Browser (z.B. [phpf]imagePng[/phpf])

Gruß hpvw
 
Danke für deine Tipps! Ich habe ein paar Sachen schon gemacht.
Aber momentan weiß ich nicht wie ich meine x-Werte erzeugen soll und in das array abspeichern soll? Denn die Formel ist dank deiner Hilfe in php Code umgewandelt die x-Werte muss ich aber noch ermitteln.
Und zwar brauche ich 46 Werte und alle 10 pixel wird ein Wert erstellt. Dieser x-Wert muß dann in die polynomfunktion rein um den y-Wert auszurechnen. Das ganze wird in einem array abgespeichert und wieder ausgegeben.
Achso ja der min (x-Wert) und der max (x-Wert) werden aus zwei textfeldern ausgelesen, sprich die habe ich auch in der Hand. Kannst du mir da weiter helfen?

Gruß
 
PHP:
    $realkoord=array();
    for ($x=$xmin; $x<=$xmax;$x+=($xmax-$xmin)/46) {
        eval('$y='.$p.';');
        $realkoord[]=array('x'=>$x,'y'=>$y);
    }
Damit hast Du ein Array, welches die Koordinaten der Funktion enthält. Die musst Du dann umrechnen.
 
Danke für deine Antwort.
Geht es auch so, damit ich nachher einfach nur noch das array mit einer foreach-Schleife in der Form ausgeben kann -3,00 -> 1,00 (wenn minx = -3 ist)
Code:
 $min = $text_x1;
 $max = $text_x2;
 $dif = ($max - $min)/46;  
 $maxi = $erg * 46;
 $array[];
 	for ($x=$min; $x<$maxi; $x+$dif) {
 		$array[$x]=eval('$y='.$p.';');
 	}
Gruss
 
Klar, je nachdem, wie Du später drauf zugreifen willst.
Allerdings würde ich den Schleifenkopf nochmal überarbeiten ;)
PHP:
for ($x=$min; $x<=$max; $x+=$dif)
 
ja, das Problem ist der Browser kommt darauf nicht klar.
Ich bekomme zwar keine Fehlermeldung, aber die Seite braucht ewig bis sie aufgebaut wird Und letztendlich passiert nichts, also die Seite bleibt hängen?
 
Zurück