gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse (Operator)

Name

gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse — Erzeugen einer Ellipse.

Signatur

gen_ellipse( : Ellipse : Row, Column, Phi, Radius1, Radius2 : )

Herror gen_ellipse(Hobject* Ellipse, double Row, double Column, double Phi, double Radius1, double Radius2)

Herror T_gen_ellipse(Hobject* Ellipse, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2)

void GenEllipse(HObject* Ellipse, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(double Row, double Column, double Phi, double Radius1, double Radius2)

static void HOperatorSet.GenEllipse(out HObject ellipse, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(double row, double column, double phi, double radius1, double radius2)

def gen_ellipse(row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]], phi: MaybeSequence[Union[int, float]], radius_1: MaybeSequence[Union[int, float]], radius_2: MaybeSequence[Union[int, float]]) -> HObject

Beschreibung

gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse generiert eine oder mehrere Ellipsen mit dem Schwerpunkt (RowRowRowrowrow, ColumnColumnColumncolumncolumn), der Orientierung PhiPhiPhiphiphi und den Halbradien (Halbachsen) Radius1Radius1Radius1radius1radius_1 und Radius2Radius2Radius2radius2radius_2. Der Winkel wird in Bogenmaß bzgl. der x-Achse in mathematisch positivem Drehsinn angegeben. 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_systemget_systemGetSystemGetSystemget_system und reset_obj_dbreset_obj_dbResetObjDbResetObjDbreset_obj_db. Falls die Ellipse über den Bildrand reicht, wird je nach dem Wert des Systemflags 'clip_region'"clip_region""clip_region""clip_region""clip_region" (set_systemset_systemSetSystemSetSystemset_system) die Ellipse auf das aktuelle Bildformat beschnitten.

Parameter-Broadcasting

Dieser Operator unterstützt Parameter-Broadcasting. Das bedeutet, dass für jeden Parameter ein Tupel der Länge 1 oder 'N'"N""N""N""N" übergeben werden kann. Tupel der Länge 1 werden wiederholt verwendet, so dass immer 'N'"N""N""N""N" Elemente erzeugt und zurückgegeben werden.

Ausführungsinformationen

Parameter

EllipseEllipseEllipseellipseellipse (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Erzeugte Ellipse(n).

RowRowRowrowrow (input_control)  ellipse.center.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Zeilenindex des Schwerpunktes.

Default: 200.0

Wertevorschläge: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Wertebereich: 1.0 ≤ Row Row Row row row ≤ 1024.0 (lin)

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

ColumnColumnColumncolumncolumn (input_control)  ellipse.center.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Spaltenindex des Schwerpunktes.

Default: 200.0

Wertevorschläge: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Wertebereich: 1.0 ≤ Column Column Column column column ≤ 1024.0 (lin)

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

PhiPhiPhiphiphi (input_control)  ellipse.angle.rad(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Orientierung des längeren Radius (Radius1).

Default: 0.0

Wertevorschläge: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097

Wertebereich: -1.178097 ≤ Phi Phi Phi phi phi ≤ 1.178097 (lin)

Radius1Radius1Radius1radius1radius_1 (input_control)  ellipse.radius1(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Längerer Radius.

Default: 100.0

Wertevorschläge: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Wertebereich: Radius1 Radius1 Radius1 radius1 radius_1 (lin)

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

Restriktion: Radius1 > 0

Radius2Radius2Radius2radius2radius_2 (input_control)  ellipse.radius2(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kürzerer Radius.

Default: 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

Wertebereich: Radius2 Radius2 Radius2 radius2 radius_2 (lin)

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

Restriktion: Radius2 > 0 && Radius2 <= Radius1

Beispiel (HDevelop)

read_image (Image, 'fabrik')
gen_ellipse (Ellipse, 200, 200, rad(10), 160, 90)
reduce_domain (Image, Ellipse, ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)

Komplexität

Laufzeitkomplexität: O(Radius1Radius1Radius1radius1radius_1 * 2)

Speicherplatzkomplexität (Byte): O(Radius1Radius1Radius1radius1radius_1 * 8)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert gen_ellipsegen_ellipseGenEllipseGenEllipsegen_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'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">) festgelegt.

Nachfolger

paint_regionpaint_regionPaintRegionPaintRegionpaint_region, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Alternativen

gen_circlegen_circleGenCircleGenCirclegen_circle, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled, draw_ellipsedraw_ellipseDrawEllipseDrawEllipsedraw_ellipse

Siehe auch

disp_ellipsedisp_ellipseDispEllipseDispEllipsedisp_ellipse, set_shapeset_shapeSetShapeSetShapeset_shape, smallest_circlesmallest_circleSmallestCircleSmallestCirclesmallest_circle, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Modul

Foundation