gen_ellipse_sector
— Erzeugen eines Ellipsenausschnittes.
gen_ellipse_sector( : EllipseSector : Row, Column, Phi, Radius1, Radius2, StartAngle, EndAngle : )
gen_ellipse_sector
generiert eine oder mehrere Ellipsen mit dem
Schwerpunkt (Row
, Column
), der Orientierung Phi
,
den Halbradien Radius1
und Radius2
und den Start- und
End-winkeln StartAngle
and EndAngle
.
Der Winkel wird in Bogenmaß in mathematisch positivem Drehsinn angegeben.
Eine Illustration zu den
Winkeln kann bei dem Operator gen_circle_sector
gefunden werden.
Es kann mehr als eine Region erzeugt werden,
indem Tupel von Parameterwerten übergeben werden.
Der Schwerpunkt muss innerhalb der Bildkoordinaten liegen.
Das Koordinatensystem läuft von (0,0) (linkes oberes Eck) bis
(Width-1,Height-1). Siehe hierzu auch get_system
und
reset_obj_db
.
Falls die Ellipse über den Bildrand reicht, wird je nach dem
Wert des Systemflags 'clip_region' (set_system
)
die Ellipse auf das aktuelle Bildformat beschnitten.
EllipseSector
(output_object) region(-array) →
object
Erzeugte Ellipse(n).
Row
(input_control) coordinates.y(-array) →
(real / integer)
Zeilenindex des Schwerpunktes.
Defaultwert: 200.0
Wertevorschläge: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0
Typischer Wertebereich: 1.0
≤
Row
≤
1024.0
(lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Column
(input_control) coordinates.x(-array) →
(real / integer)
Spaltenindex des Schwerpunktes.
Defaultwert: 200.0
Wertevorschläge: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0
Typischer Wertebereich: 1.0
≤
Column
≤
1024.0
(lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Phi
(input_control) angle.rad(-array) →
(real / integer)
Orientierung des längeren Radius (Radius1).
Defaultwert: 0.0
Wertevorschläge: -1.5707, -1.1781, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.1781, 1.5707
Typischer Wertebereich: -1.570796
≤
Phi
≤
1.570796
(lin)
Restriktion: - pi / 2 <= Phi <= pi / 2
Radius1
(input_control) number(-array) →
(real / integer)
Längerer Radius.
Defaultwert: 100.0
Wertevorschläge: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0
Typischer Wertebereich: 1.0
≤
Radius1
≤
1024.0
(lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: Radius1 > 0
Radius2
(input_control) number(-array) →
(real / integer)
Kürzerer Radius.
Defaultwert: 60.0
Wertevorschläge: 1.0, 2.0, 4.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0
Typischer Wertebereich: 1.0
≤
Radius2
≤
1024.0
(lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: Radius2 > 0 && Radius2 <= Radius1
StartAngle
(input_control) angle.rad(-array) →
(real / integer)
Startwinkel des Ellipsenausschnittes.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.785398, 1.5708, 2.35619, 3.14159, 3.92699, 4.71239, 5.49779, 6.28318
Typischer Wertebereich: 0
≤
StartAngle
≤
6.28318
(lin)
Restriktion: 0 <= StartAngle && StartAngle <= 2 * pi
EndAngle
(input_control) angle.rad(-array) →
(real / integer)
Endwinkel des Ellipsenausschnittes.
Defaultwert: 3.14159
Wertevorschläge: 0.0, 0.785398, 1.5708, 2.35619, 3.14159, 3.92699, 4.71239, 5.49779, 6.28318
Typischer Wertebereich: 0
≤
EndAngle
≤
6.28318
(lin)
Restriktion: 0 <= EndAngle && EndAngle <= 2 * pi
read_image (Image, 'fabrik') gen_ellipse_sector (EllipseSector, 200, 200, rad(30),\ 150, 90, rad(45), rad(280)) reduce_domain (Image, EllipseSector, ImageReduced) dev_clear_window () dev_display (ImageReduced)
Laufzeitkomplexität: O(Radius1
* 2)
Speicherplatzkomplexität (Byte): O(Radius1
* 8)
Sind die Parameterwerte korrekt, dann liefert gen_ellipse
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
Das Clipping am aktuellen Bildformat wird durch
set_system('clip_region',<'true'/'false'>)
festgelegt.
gen_circle
,
gen_circle_sector
,
gen_region_polygon_filled
,
draw_ellipse
,
gen_ellipse
disp_ellipse
,
set_shape
,
smallest_circle
,
reduce_domain
Foundation