KlassenKlassenKlassenKlassen | | | | Operatoren

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld (Operator)

Name

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld — Geometrische Momente , und von Konturen oder Polygonen die als Punktwolke betrachtet werden.

Signatur

moments_points_xld(XLD : : : M11, M20, M02)

Herror moments_points_xld(const Hobject XLD, double* M11, double* M20, double* M02)

Herror T_moments_points_xld(const Hobject XLD, Htuple* M11, Htuple* M20, Htuple* M02)

Herror moments_points_xld(Hobject XLD, double* M11, double* M20, double* M02)

Herror moments_points_xld(Hobject XLD, HTuple* M11, HTuple* M20, HTuple* M02)

double HXLD::MomentsPointsXld(double* M20, double* M02) const

HTuple HXLDArray::MomentsPointsXld(HTuple* M20, HTuple* M02) const

void MomentsPointsXld(const HObject& XLD, HTuple* M11, HTuple* M20, HTuple* M02)

HTuple HXLD::MomentsPointsXld(HTuple* M20, HTuple* M02) const

double HXLD::MomentsPointsXld(double* M20, double* M02) const

void HOperatorSetX.MomentsPointsXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* M11, [out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDContX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDPolyX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDParaX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDModParaX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HXLDExtParaX.MomentsPointsXld(
[out] VARIANT* M20, [out] VARIANT* M02)

static void HOperatorSet.MomentsPointsXld(HObject XLD, out HTuple m11, out HTuple m20, out HTuple m02)

HTuple HXLD.MomentsPointsXld(out HTuple m20, out HTuple m02)

double HXLD.MomentsPointsXld(out double m20, out double m02)

Beschreibung

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld berechnet die Momente (M20M20M20M20M20m20, M02M02M02M02M02m02) und das Trägheitsprodukt der Achsen durch den Schwerpunkt parallel zu den Koordinatenachsen (M11M11M11M11M11m11) der von den Eingabekonturen bzw. -polygonen definierten Punktwolken. Die Momente ergeben sich damit durch

Bei geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da er sonst doppeltes Gewicht erhielte.

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld 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 moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld 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.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen bzw. Polygone.

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

Trägheitsprodukt der Achsen durch den Schwerpunkt parallel zu den Koordinatenachsen.

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

Moment 2. Ordnung in Zeilenrichtung.

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

Moment 2. Ordnung in Spaltenrichtung.

Komplexität

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

Ergebnis

moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld 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

moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld, moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld, moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld

Siehe auch

moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld, area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld, moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren