Mailinglisten-Archive |
Hi Helferteam,
irgendwie hab' ich/wir das voellig umstaendlich angepackt.
http://itbw.de/_tests/diverse/phplist/_ellipse.php4
$A = 66; /* halbe Breite */
$B = 33; /* halbe Hoehe */
$C = 200; /* Mitte-X */
$D = 150; /* Mitte-Y */
$c2P = 2* M_PI;
for($i=0; $i<$c2P; $i+=0.01)
{$x = round(cos($i) * $A);
$y = round(sin($i) * $B);
$erg = ImageSetPixel($neu, ($C + $x), ($D - $y), $red);
}
fertig ist die Ellipse.
Dann die Gerade zeichnen, ist ja auch easy
$erg = ImageLine($neu, $C, $D, ($C + $mX), ($D - $mY), $blk);
Den Winkel der Geraden berechnen:
$phi = atan($GeK / $AnK) + ($qur * M_PI_2);
Das ist etwas triky, weil atan(); nicht eindeutig ist.
Je nach dem, in welchem Quadranten man gerade ist,
muss man wahlweise $mX, $mY den $GeK, $AnK zuweisen,
und dann die fehlenden 1/2 PI addieren.
Zur Kontrolle schnell einen roten Punkt gemalt:
$x = round(cos($phi) * $laenge);
$y = round(sin($phi) * $laenge);
$erg = ImageArc($neu, ($C + $x), ($D - $y), 5, 5, 0, 360, $red);
passt schon prima, aber dann, die Ernuechterung:
$x = round(cos($phi) * $A);
$y = round(sin($phi) * $B);
$erg = ImageArc($neu, ($C + $x), ($D - $y), 5, 5, 0, 360, $blu);
Der blaue Punkt liegt immer irgendwie daneben... :-(((
Woran koennte das nun wieder liegen <gruebel>
m. b. G. Norbert
_____________________
normal: 02292-681769
Notruf: 0177-2373368
---------------------
e.o.m.
php::bar PHP Wiki - Listenarchive