KlassenKlassenKlassenKlassen | | | | Operatoren

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher (Operator)

Name

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher — Konvertieren kartesischer Koordinaten eines 3D-Punktes in sphärische Koordinaten.

Signatur

convert_point_3d_cart_to_spher( : : X, Y, Z, EquatPlaneNormal, ZeroMeridian : Longitude, Latitude, Radius)

Herror convert_point_3d_cart_to_spher(double X, double Y, double Z, const char* EquatPlaneNormal, const char* ZeroMeridian, double* Longitude, double* Latitude, double* Radius)

Herror T_convert_point_3d_cart_to_spher(const Htuple X, const Htuple Y, const Htuple Z, const Htuple EquatPlaneNormal, const Htuple ZeroMeridian, Htuple* Longitude, Htuple* Latitude, Htuple* Radius)

Herror convert_point_3d_cart_to_spher(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, double* Longitude, double* Latitude, double* Radius)

Herror convert_point_3d_cart_to_spher(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, HTuple* Longitude, HTuple* Latitude, HTuple* Radius)

void ConvertPoint3dCartToSpher(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, HTuple* Longitude, HTuple* Latitude, HTuple* Radius)

static HTuple HMisc::ConvertPoint3dCartToSpher(const HTuple& X, const HTuple& Y, const HTuple& Z, const HString& EquatPlaneNormal, const HString& ZeroMeridian, HTuple* Latitude, HTuple* Radius)

static double HMisc::ConvertPoint3dCartToSpher(double X, double Y, double Z, const HString& EquatPlaneNormal, const HString& ZeroMeridian, double* Latitude, double* Radius)

static double HMisc::ConvertPoint3dCartToSpher(double X, double Y, double Z, const char* EquatPlaneNormal, const char* ZeroMeridian, double* Latitude, double* Radius)

void HOperatorSetX.ConvertPoint3dCartToSpher(
[in] VARIANT X, [in] VARIANT Y, [in] VARIANT Z, [in] VARIANT EquatPlaneNormal, [in] VARIANT ZeroMeridian, [out] VARIANT* Longitude, [out] VARIANT* Latitude, [out] VARIANT* Radius)

VARIANT HMiscX.ConvertPoint3dCartToSpher(
[in] VARIANT X, [in] VARIANT Y, [in] VARIANT Z, [in] BSTR EquatPlaneNormal, [in] BSTR ZeroMeridian, [out] VARIANT* Latitude, [out] VARIANT* Radius)

static void HOperatorSet.ConvertPoint3dCartToSpher(HTuple x, HTuple y, HTuple z, HTuple equatPlaneNormal, HTuple zeroMeridian, out HTuple longitude, out HTuple latitude, out HTuple radius)

static HTuple HMisc.ConvertPoint3dCartToSpher(HTuple x, HTuple y, HTuple z, string equatPlaneNormal, string zeroMeridian, out HTuple latitude, out HTuple radius)

static double HMisc.ConvertPoint3dCartToSpher(double x, double y, double z, string equatPlaneNormal, string zeroMeridian, out double latitude, out double radius)

Beschreibung

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher konvertiert die kartesischen Koordinaten eines 3D-Punktes, die in XXXXXx, YYYYYy und ZZZZZz gegeben sind, in sphärische Koordinaten. Die sphärischen Koordinaten werden in LongitudeLongitudeLongitudeLongitudeLongitudelongitude (geographische Länge), LatitudeLatitudeLatitudeLatitudeLatitudelatitude (geographische Breite) und RadiusRadiusRadiusRadiusRadiusradius zurückgegeben. Der Wertebereich von LongitudeLongitudeLongitudeLongitudeLongitudelongitude ist , der von LatitudeLatitudeLatitudeLatitudeLatitudelatitude ist . Dabei hat der Nordpol die Breite , der Südpol entsprechend die Breite .

Die Lage des sphärischen Koordinatensystems bezüglich des kartesischen Koordinatensystems kann mit den Parametern EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian festgelegt werden.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal bestimmt dabei die Normale der Äquatorebene (Länge == 0) in Richtung Nordpol (positive Breite) und kann die folgenden Werte annehmen:

'x'"x""x""x""x""x":

Die Äquatorebene ist die yz-Ebene. Die positive x-Achse zeigt zum Nordpol.

'-x'"-x""-x""-x""-x""-x":

Die Äquatorebene ist die yz-Ebene. Die positive x-Achse zeigt zum Südpol.

'y'"y""y""y""y""y":

Die Äquatorebene ist die xz-Ebene. Die positive y-Achse zeigt zum Nordpol.

'-y'"-y""-y""-y""-y""-y":

Die Äquatorebene ist die xz-Ebene. Die positive y-Achse zeigt zum Südpol.

'z'"z""z""z""z""z":

Die Äquatorebene ist die xy-Ebene. Die positive z-Achse zeigt zum Nordpol.

'-z'"-z""-z""-z""-z""-z":

Die Äquatorebene ist die xy-Ebene. Die positive z-Achse zeigt zum Südpol.

Die Lage des Nullmeridians kann mit dem Parameter ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian festgelegt werden. Dazu muss die (in der Äquatorebene liegende) Koordinatenachse angegeben werden, die zum Nullmeridian zeigen soll. Folgende Werte für ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian sind zulässig:

'x'"x""x""x""x""x":

Die positive x-Achse zeigt in Richtung des Nullmeridians.

'-x'"-x""-x""-x""-x""-x":

Die negative x-Achse zeigt in Richtung des Nullmeridians.

'y'"y""y""y""y""y":

Die positive y-Achse zeigt in Richtung des Nullmeridians.

'-y'"-y""-y""-y""-y""-y":

Die negative y-Achse zeigt in Richtung des Nullmeridians.

'z'"z""z""z""z""z":

Die positive z-Achse zeigt in Richtung des Nullmeridians.

'-z'"-z""-z""-z""-z""-z":

Die negative z-Achse zeigt in Richtung des Nullmeridians.

Es sind nur sinnvolle Kombinationen von EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian zulässig, d.h. die Normale der Äquatorebene darf nicht parallel zur Richtung des Nullmeridians sein. Demnach ist beispielsweise die Kombination EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal='y'"y""y""y""y""y" und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian='-y'"-y""-y""-y""-y""-y" ungültig.

Beachte: Um eine konsistente Rückkonvertierung von sphärischen in kartesische Koordinaten mit convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart zu gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian die selben Werte angegeben werden wie bei convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher.

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher kann z.B. dazu genutzt werden, eine gegebene Kameraposition in sphärische Koordinaten umzurechnen. Werden mehrere Kamerapositionen umgerechnet, erhält man somit einen Pose-Bereich (in sphärischen Koordinaten), der in create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d zur Erzeugung eines 3D-Formmodells übergeben werden kann.

Parallelisierung

Parameter

XXXXXx (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

X-Koordinate des 3D-Punktes.

YYYYYy (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Y-Koordinate des 3D-Punktes.

ZZZZZz (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Z-Koordinate des 3D-Punktes.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Normalenvektor der Äquatorebene (zeigt zum Nordpol).

Defaultwert: '-y' "-y" "-y" "-y" "-y" "-y"

Werteliste: '-x'"-x""-x""-x""-x""-x", '-y'"-y""-y""-y""-y""-y", '-z'"-z""-z""-z""-z""-z", 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'z'"z""z""z""z""z"

ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Koordinatenachse in der Äquatorebene, die zum Nullmeridian zeigt.

Defaultwert: '-z' "-z" "-z" "-z" "-z" "-z"

Werteliste: '-x'"-x""-x""-x""-x""-x", '-y'"-y""-y""-y""-y""-y", '-z'"-z""-z""-z""-z""-z", 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'z'"z""z""z""z""z"

LongitudeLongitudeLongitudeLongitudeLongitudelongitude (output_control)  angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Geographische Länge des 3D-Punktes.

LatitudeLatitudeLatitudeLatitudeLatitudelatitude (output_control)  angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Geographische Breite des 3D-Punktes.

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

Radius des 3D-Punktes.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d, find_shape_model_3dfind_shape_model_3dFindShapeModel3dfind_shape_model_3dFindShapeModel3dFindShapeModel3d

Siehe auch

convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren