Name
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld — Fläche und Schwerpunkt von Konturen oder Polygonen.
Herror area_center_xld(Hobject XLD, double* Area, double* Row, double* Column, char* PointOrder)
Herror area_center_xld(Hobject XLD, HTuple* Area, HTuple* Row, HTuple* Column, HTuple* PointOrder)
double HXLD::AreaCenterXld(double* Row, double* Column, char* PointOrder) const
HTuple HXLDArray::AreaCenterXld(HTuple* Row, HTuple* Column, HTuple* PointOrder) const
void HOperatorSetX.AreaCenterXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Area, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDContX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDPolyX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDParaX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDModParaX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
VARIANT HXLDExtParaX.AreaCenterXld(
[out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* PointOrder)
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld berechnet die Fläche und den Schwerpunkt
der von den Eingabekonturen oder -polygonen XLDXLDXLDXLDXLDXLD
eingeschlossenen Flächen sowie den mathematischen Umlaufsinn der
entsprechenden Stützpunkte. Die Fläche und der Schwerpunkt wird
durch Anwendung des Gaußschen Integralsatzes nur unter Verwendung
der Kontur- oder Polygonpunkte berechnet, d.h. es wird keine
explizite Fläche zur Berechnung erzeugt. Sind die Punkte einer
Kontur bzw. eines Polygons entgegen dem Uhrzeigersinn angeordnet
(d.h. im mathematisch positiven Sinn), ist PointOrderPointOrderPointOrderPointOrderPointOrderpointOrder
'positive'"positive""positive""positive""positive""positive". Es wird vorausgesetzt, dass die Kontur bzw. das
Polygon geschlossen ist. Ist das nicht der Fall, wird sie/es
künstlich geschlossen.
Es ist zu beachten, dass area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld nur dann sinnvolle
Ergebnisse liefert, falls die Kontur oder das Polygon eine Fläche in
der Ebene einschließt. Insbesondere darf sich die Kontur oder das
Polygon nicht selbst schneiden. Dies ist insbesondere dann zu
beachten, wenn offene Konturen und Polygone übergeben werden, da
diese automatisch geschlossen werden, was dazu führen kann, dass sich
die Kontur oder das Polygon selbst schneidet. Ob sich die Konturen
oder Polygone selbst schneiden, kann leicht mit
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden. Falls sich die
Kontur oder das Polygon selbst schneidet, kann ein sinnvoller Wert
für den Schwerpunkt mit area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld berechnet
werden.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Ergebnisse in Tupeln in der Reihenfolge ihrer entsprechenden Konturen
bzw. Polygone in XLDXLDXLDXLDXLDXLD abgespeichert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Konturen bzw. Polygone.
Fläche, die von der Kontur bzw. dem Polygon
eingeschlossen wird.
Zeilenindex des Schwerpunktes.
Spaltenindex des Schwerpunktes.
Mathematischer Umlaufsinn ('positive'/'negative')
der Stützpunkte.
Sei n die Anzahl der Punkte in der Kontur bzw. dem
Polygon. Dann ist die Laufzeit O(n).
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld 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.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld,
gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld
area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld
moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld,
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter,
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd
Foundation