smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXld (Operator)

Name

smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXld — 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)

Beschreibung

smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld 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 (RowRowRowRowrow,ColumnColumnColumnColumncolumn) und der Radius (RadiusRadiusRadiusRadiusradius) berechnet.

Werden mehrere Konturen oder Polygone in XLDXLDXLDXLDXLD ü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_systemSetSystemSetSystemSetSystem).

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Zu untersuchende Konturen oder Polygone.

RowRowRowRowrow (output_control)  circle.center.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des Mittelpunktes des umschließenden Kreises.

ColumnColumnColumnColumncolumn (output_control)  circle.center.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des Mittelpunktes des umschließenden Kreises.

RadiusRadiusRadiusRadiusradius (output_control)  circle.radius(-array) HTupleHTupleHtuple (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_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld

Nachfolger

gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXld

Alternativen

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld

Siehe auch

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld, smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld, shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXld

Modul

Foundation