Zitat von Hexcode
Beitrag anzeigen
Dreieck-Konstruktion
Einklappen
X
-
So kannst du nur argumentieren, wenn du für den Hausgebrauch programmierst, also wenn der Code ausschließlich auf deinem von außen nicht erreichbaren Heim-PC läuft. Sobald das nicht mehr zutrifft, musst du für alle Eventualitäten gewappnet sein.
-
?a=555&b=95
läuft sich auch tot
Edit: stimmt nicht, DenkfehlerZuletzt geändert von AmicaNoctis; 07.12.2009, 13:04.
Einen Kommentar schreiben:
-
ist ja eig. auch nicht dadaruf ausgelegt ohne aufgerufen zu werden, aber als solches hast du recht
Einen Kommentar schreiben:
-
Ich wollte mir die Ausgabe deines Scriptes anschauen, um mir ein Bild von deinem gewünschten Dreieck machen zu können. Es soll ja rechtwinklige Dreiecke geben, die auch gleichschenklig sind.Zitat von Hexcode Beitrag anzeigenDas ist jetzt der fertige CodePHP-Code:$a = $_GET['a'];
//...
imagePng($bild); // Grafik an den Browser senden
imageDestroy($bild); // Grafik aus dem Server-Speicher entfernen
funktioniert ganz gut.
Also hab ich den Quältext kopiert und das Script gestartet. Leider bekam ich folgende Warnungen und Fehlermeldungen:
Das verstehst du unter "funktioniert ganz gut"?Notice: Undefined index: a in [...]test.php on line 20
Notice: Undefined index: b in [...]test.php on line 21
Notice: Undefined index: c in [...]test.php on line 24
Fatal error: Maximum execution time of 15 seconds exceeded in [...]test.php on line 34
Du solltest deine Variablen $a und $b mit sinnvollen Werten versehen, wenn das Script ohne GET-Parameter aufgerufen wird. Denn sonst läuft sich deine zweite While-Schleife tot. 0 * 2 bleibt immer 0.
Einen Kommentar schreiben:
-
Das ist jetzt der fertige CodePHP-Code:$a = $_GET['a'];
$b = $_GET['b'];
$strecke_a = $a;
$strecke_b = $b;
$strecke_c = $_GET['c'];
while($a > 1000 OR $b > 1000)
{
$a= $a/2;
$b= $b/2;
}
while($a < 100 OR $b < 100)
{
$a= $a*2;
$b= $b*2;
}
header("Content-type: image/png"); // Grafik-Header (image/png) an den Browser senden
$breite = $b+20; // Breite der Grafik
$hoehe = $a+20; // Höhe der Grafik
$bild = imageCreateTruecolor($breite, $hoehe); // Grafik erstellen
$hintergrundfarbe = imageColorAllocate($bild, 109, 191, 210); // Farbe für den Hintergrund erstellen
imageFill($bild, 0, 0, $hintergrundfarbe); // Grafik mit der Hintergrundfarbe füllen
$farbe = imageColorAllocate($bild, 127, 255, 0); // Farbe für das Dreieck erstellen
$postion = array(10,10, 10,$a+10, $b+10,$a+10); // Koordinaten des Dreiecks auf der Grafik
imageFilledPolygon($bild, $postion, 3, $farbe); // Dreieck einzeichnen
$textfarbe = imageColorAllocate($bild,0,0,0); // Textfarbe für Beschriftungen
imagestring($bild,5,$b+10,$a+5,"A",$textfarbe); // Beschriftung für Ecke A einfügen.
imagestring($bild,5,2,-2,"B",$textfarbe); // Beschriftung für Ecke B einfügen.
imagestring($bild,5,2,$a+5,"C",$textfarbe); // Beschriftung für Ecke C einfügen.
imagestring($bild,2,12,$a/2+5,"a=".$strecke_a."cm",$textfarbe); // Beschriftung für Strecke a einfügen.
imagestring($bild,2,$b/2,$a-3,"b=".$strecke_b."cm",$textfarbe); // Beschriftung für Strecke b einfügen.
imagestring($bild,2,$b/2+15,$a/2+5,"c=".$strecke_c."cm",$textfarbe); // Beschriftung für Strecke c einfügen.
imagePng($bild); // Grafik an den Browser senden
imageDestroy($bild); // Grafik aus dem Server-Speicher entfernen
funktioniert ganz gut.
Einen Kommentar schreiben:
-
Zeig uns doch bitte erst mal das Dreieck. Also so, wie es aussehen sollte.Zitat von Hexcode Beitrag anzeigenDie Strecken sind gegeben und der oberste Punkt, ich zeig nachher mal das Script wenn ich fertig bin.
Peter
Einen Kommentar schreiben:
-
Gemessen an der Präzision der Frage ist deine Antwort absolut enttäuschend.
Einen Kommentar schreiben:
-
Die Strecken sind gegeben und der oberste Punkt, ich zeig nachher mal das Script wenn ich fertig bin.
Einen Kommentar schreiben:
-
Willst du nicht vielleicht nochmal von vorne erklären? Wo ist welcher Punkt in der Grafik? Welche Werte sind fest, welche sind vom Benutzer veränderbar, welche werden berechnet?
Einen Kommentar schreiben:
-
[FONT=Arial],Im rechtwinkligen Dreieck ist die Summe der Kathetenquadrate gleich dem Hypotenusenquadrat."= Pytagoras, heißt das Dreieck ist rechtwinklig?
http://de.wikipedia.org/wiki/Satz_des_Pythagoras
Bei Punkt C ist er Rechtwinklig
[/FONT]
Einen Kommentar schreiben:
-
OffTopic: Erst nimmst du ihm sein h weg und dann definierst du ihn als rechtwinklig? Der Mann hat bei dir aber nicht viel zu lachenZitat von Hexcode Beitrag anzeigenPytagoras = rechtwinklig
Einen Kommentar schreiben:
-
Pytagoras = rechtwinklig... das fällt mir grad erst auf, das kann man ja recht einfach zeichnen...
Einen Kommentar schreiben:
Einen Kommentar schreiben: