angle_lx
— Berechnen des Winkels zwischen einer Geraden und der horizontalen
Achse.
angle_lx
berechnet den Winkel zwischen einer Geraden und der
Horizontalen.
Als Eingabe werden die Koordinaten von zwei Punkten auf der Geraden
(Row1
,Column1
,
Row2
,Column2
) erwartet.
Die Berechnung des Winkels geschieht wie folgt: Man interpretiert
die Gerade als einen Vektor, wobei
Row1
,Column1
der Startpunkt und
Row2
,Column2
der Endpunkt sind.
Der Startpunkt liegt dabei auf der Horizontalen und
dient in der folgenden Überlegung als Drehpunkt. Liegt der Endpunkt des
Vektors oberhalb der Horizontalen, ergibt sich der gesuchte Winkel
(mit positivem Vorzeichen) aus der Rotation dieser Horizontalen gegen
den Uhrzeigersinn auf den Vektor. Liegt der Endpunkt des Vektors unterhalb
der Horizontalen, ergibt sich der gesuchte Winkel (mit negativem
Vorzeichen) aus der Rotation dieser Horizontalen im Uhrzeigersinn
auf den Vektor.
Der Winkel ist also abhängig von der Reihenfolge der Koordinaten.
Das Ergebnis, d.h. der Winkel in Bogenmaß, wird im Parameter
Angle
übergeben.
Der Winkel liegt im Bereich von .
Row1
(input_control) point.y(-array) →
(real / integer)
Zeilenkoordinate des ersten Punktes der Geraden.
Column1
(input_control) point.x(-array) →
(real / integer)
Spaltenkoordinate des ersten Punktes der Geraden.
Row2
(input_control) point.y(-array) →
(real / integer)
Zeilenkoordinate des zweiten Punktes der Geraden.
Column2
(input_control) point.x(-array) →
(real / integer)
Spaltenkoordinate des zweiten Punktes der Geraden.
Angle
(output_control) angle.rad(-array) →
(real)
Winkel zwischen der Geraden und der Horizontalen [rad].
dev_open_window (0, 0, 512, 512, 'black', WindowHandle) RowA1 := 255 ColumnA1 := 10 RowA2 := 255 ColumnA2 := 501 gen_contour_polygon_xld (Contour, [RowA1,RowA2], [ColumnA1,ColumnA2]) Row1 := 255 Column1 := 255 for I := 5 to 360 by 5 Row2 := 255 - sin(rad(I)) * 200 Column2 := 255 + cos(rad(I)) * 200 gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2]) angle_lx (Row1, Column1, Row2, Column2, Angle) AngleDeg := deg(Angle) endfor
angle_lx
liefert den Wert 2 (H_MSG_TRUE).
Foundation