Die Funktion RotatePntI ist Bestandteil des AVRCo.
4.13.22.14 ROTATE PNTi
Der Punkt(XPo, YPo) wird mit dem Winkel angle rotiert (Grad). Das Ergebnis steht in XPd, YPd.
Procedure RotatePnti (angle, XPo, YPo : integer; var XPd, YPd : integer);
Die Funktion ist sehr schnell, wäre aber mal interessant ob eine LookUpTable schneller ist. Man braucht ja nur 0-90°.
Der Mittelpunkt der Rotation ist 0,0. D.h. man muß für den Startpunkt der Linie von der halben X- und y-Auflösung den errechneten Wert subtrahieren und für den Endpunkt addieren. Das ist alles. Die gleiche Linie noch einmal gezeichnet löscht sie wieder.
Gruss
Harry
Quote
4.13.22.14 ROTATE PNTi
Der Punkt(XPo, YPo) wird mit dem Winkel angle rotiert (Grad). Das Ergebnis steht in XPd, YPd.
Procedure RotatePnti (angle, XPo, YPo : integer; var XPd, YPd : integer);
Die Funktion ist sehr schnell, wäre aber mal interessant ob eine LookUpTable schneller ist. Man braucht ja nur 0-90°.
Der Mittelpunkt der Rotation ist 0,0. D.h. man muß für den Startpunkt der Linie von der halben X- und y-Auflösung den errechneten Wert subtrahieren und für den Endpunkt addieren. Das ist alles. Die gleiche Linie noch einmal gezeichnet löscht sie wieder.
Gruss
Harry