KlassenKlassenKlassenKlassen | | | | Operatoren

area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld (Operator)

Name

area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld — Fläche und Schwerpunkt von Konturen oder Polygonen, die als Punktwolken betrachtet werden.

Signatur

area_center_points_xld(XLD : : : Area, Row, Column)

Herror area_center_points_xld(const Hobject XLD, double* Area, double* Row, double* Column)

Herror T_area_center_points_xld(const Hobject XLD, Htuple* Area, Htuple* Row, Htuple* Column)

Herror area_center_points_xld(Hobject XLD, double* Area, double* Row, double* Column)

Herror area_center_points_xld(Hobject XLD, HTuple* Area, HTuple* Row, HTuple* Column)

double HXLD::AreaCenterPointsXld(double* Row, double* Column) const

HTuple HXLDArray::AreaCenterPointsXld(HTuple* Row, HTuple* Column) const

void AreaCenterPointsXld(const HObject& XLD, HTuple* Area, HTuple* Row, HTuple* Column)

HTuple HXLD::AreaCenterPointsXld(HTuple* Row, HTuple* Column) const

double HXLD::AreaCenterPointsXld(double* Row, double* Column) const

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

VARIANT HXLDX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HXLDContX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HXLDPolyX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HXLDParaX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HXLDModParaX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HXLDExtParaX.AreaCenterPointsXld(
[out] VARIANT* Row, [out] VARIANT* Column)

static void HOperatorSet.AreaCenterPointsXld(HObject XLD, out HTuple area, out HTuple row, out HTuple column)

HTuple HXLD.AreaCenterPointsXld(out HTuple row, out HTuple column)

double HXLD.AreaCenterPointsXld(out double row, out double column)

Beschreibung

area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld berechnet die Fläche und den Schwerpunkt der von den Eingabekonturen oder -polygonen XLDXLDXLDXLDXLDXLD definierten Punktwolken (d.h. die Reihenfolge der Kontur- oder Polygonpunkte wird nicht berücksichtigt). Die Fläche ist im Falle der Punktwolke gegeben durch die Anzahl der Punkte. Der Schwerpunkt entspricht dem arithmetischen Mittel der Punkte. Bei geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da er sonst doppeltes Gewicht erhielte.

area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld sollte dann verwendet werden, wenn die Kontur XLDXLDXLDXLDXLDXLD entweder nicht kreuzungsfrei ist oder nicht kreuzungsfrei durch eine Line vom End- zum Anfangspunkt geschlossen werden kann. In diesem Fall liefert area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld keine sinnvollen Ergebnisse. Ob sich die Konturen oder Polygone selbst schneiden, kann leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse in Tupeln in der gleichen Reihenfolge wie die entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLDXLD abgespeichert.

Achtung

Auch wenn sich die Eingabekontur oder das -polygon XLDXLDXLDXLDXLDXLD nicht selbst überschneidet unterscheidet sich das Ergebnis von area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld deutlich von dem Ergebnis, das durch area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld erzielt werden würde, da das Ergebnis aus der Punktwolke der Kontur und nicht aus der umschlossenen Region berechnet wird.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Punktwolken als Konturen bzw. Polygone.

AreaAreaAreaAreaAreaarea (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Fläche der Punktwolke.

RowRowRowRowRowrow (output_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenindex des Schwerpunktes.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenindex des Schwerpunktes.

Komplexität

Sei n die Anzahl der Punkte in der Kontur bzw. dem Polygon. Dann ist die Laufzeit O(n).

Ergebnis

area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld 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, smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld, gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld

Alternativen

area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld

Siehe auch

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld, moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren