smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldsmallest_circle_xld (Operator)

Name

smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldsmallest_circle_xld — Kleinster umschließender Kreis von Konturen oder Polygonen.

Signatur

smallest_circle_xld(XLD : : : Row, Column, Radius)

Herror smallest_circle_xld(const Hobject XLD, double* Row, double* Column, double* Radius)

Herror T_smallest_circle_xld(const Hobject XLD, Htuple* Row, Htuple* Column, Htuple* Radius)

void SmallestCircleXld(const HObject& XLD, HTuple* Row, HTuple* Column, HTuple* Radius)

void HXLD::SmallestCircleXld(HTuple* Row, HTuple* Column, HTuple* Radius) const

void HXLD::SmallestCircleXld(double* Row, double* Column, double* Radius) const

static void HOperatorSet.SmallestCircleXld(HObject XLD, out HTuple row, out HTuple column, out HTuple radius)

void HXLD.SmallestCircleXld(out HTuple row, out HTuple column, out HTuple radius)

void HXLD.SmallestCircleXld(out double row, out double column, out double radius)

def smallest_circle_xld(xld: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def smallest_circle_xld_s(xld: HObject) -> Tuple[float, float, float]

Beschreibung

smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXldsmallest_circle_xld bestimmt den kleinsten umschließenden Kreis von Konturen oder Polygonen, also den Kreis mit dem kleinsten Flächeninhalt unter allen Kreisen, die die Kontur enthalten. Für diesen Kreis werden der Mittelpunkt (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) und der Radius (RadiusRadiusRadiusRadiusradiusradius) berechnet.

Werden mehrere Konturen oder Polygone in XLDXLDXLDXLDXLDxld übergeben, so werden entsprechende Tupel als Ausgabeparameter zurückgegeben. Bei leerer Kontur haben alle Parameter den Wert 0.0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemSetSystemSetSystemset_system).

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLDxld (input_object)  xld(-array) objectHXLDHObjectHXLDHobject

Zu untersuchende Konturen oder Polygone.

RowRowRowRowrowrow (output_control)  circle.center.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des Mittelpunktes des umschließenden Kreises.

ColumnColumnColumnColumncolumncolumn (output_control)  circle.center.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des Mittelpunktes des umschließenden Kreises.

RadiusRadiusRadiusRadiusradiusradius (output_control)  circle.radius(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Radius des umschließenden Kreises.

Zusicherung: Radius >= 0

Komplexität

Seien N die Anzahl der Punkte in der Kontur dann beträgt die Laufzeitkomplexität O(N*ln(N)).

Ergebnis

smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXldsmallest_circle_xld liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe lässt sich mittels set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld

Nachfolger

gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

Alternativen

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld

Siehe auch

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld, smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld, shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXldshape_trans_xld

Modul

Foundation