KlassenKlassenKlassenKlassen | | | | Operatoren

smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld (Operator)

Name

smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_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)

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

Herror smallest_circle_xld(Hobject XLD, HTuple* Row, HTuple* Column, HTuple* Radius)

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

HTuple HXLDArray::SmallestCircleXld(HTuple* Column, HTuple* Radius) const

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

void HOperatorSetX.SmallestCircleXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDContX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDPolyX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDParaX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDModParaX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

VARIANT HXLDExtParaX.SmallestCircleXld(
[out] VARIANT* Column, [out] VARIANT* Radius)

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_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld 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_systemSetSystemset_systemSetSystemSetSystem).

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen oder Polygone.

RowRowRowRowRowrow (output_control)  circle.center.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenkoordinate des Mittelpunktes des umschließenden Kreises.

ColumnColumnColumnColumnColumncolumn (output_control)  circle.center.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenkoordinate des Mittelpunktes des umschließenden Kreises.

RadiusRadiusRadiusRadiusRadiusradius (output_control)  circle.radius(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld 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>)set_system("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_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld, edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld

Nachfolger

gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXld

Alternativen

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld

Siehe auch

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld, smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld, shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren