convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart (Operator)

Name

convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart — Konvertieren sphärischer Koordinaten eines 3D-Punktes in kartesische Koordinaten.

Signatur

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

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

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

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

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

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

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

static void HMisc::ConvertPoint3dSpherToCart(double Longitude, double Latitude, double Radius, const wchar_t* EquatPlaneNormal, const wchar_t* ZeroMeridian, double* X, double* Y, double* Z)   (Nur Windows)

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

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

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

Beschreibung

Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart konvertiert die sphärischen Koordinaten eines 3D-Punktes, die in LongitudeLongitudeLongitudeLongitudelongitude (geographische Länge), LatitudeLatitudeLatitudeLatitudelatitude (geographische Breite) und RadiusRadiusRadiusRadiusradius gegeben sind, in kartesische Koordinaten XXXXx, YYYYy und ZZZZz. Die sphärischen Koordinaten LongitudeLongitudeLongitudeLongitudelongitude und LatitudeLatitudeLatitudeLatitudelatitude müssen im Bogenmaß übergeben werden. Der Parameter LatitudeLatitudeLatitudeLatitudelatitude muss dabei im Bereich liegen, wobei der Nordpol die Breite und der Südpol entsprechend die Breite hat.

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

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal 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":

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

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

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

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

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

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

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

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

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

'-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 ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian festgelegt werden. Dazu muss die (in der Äquatorebene liegende) Koordinatenachse angegeben werden, die zum Nullmeridian zeigen soll. Folgende Werte für ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian sind zulässig:

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

Die positive x-Achse zeigt in Richtung des Nullmeridians.

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

Die negative x-Achse zeigt in Richtung des Nullmeridians.

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

Die positive y-Achse zeigt in Richtung des Nullmeridians.

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

Die negative y-Achse zeigt in Richtung des Nullmeridians.

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

Die positive z-Achse zeigt in Richtung des Nullmeridians.

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

Die negative z-Achse zeigt in Richtung des Nullmeridians.

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

Beachte: Um eine konsistente Rückkonvertierung von kartesischen in sphärische Koordinaten mit convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher zu gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian die selben Werte angegeben werden wie bei convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart.

Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart kann z.B. dazu genutzt werden, eine in sphärischen Koordinaten gegebene Kameraposition in kartesische Koordinaten umzurechnen. Das Ergebnis kann dann mit create_cam_pose_look_at_pointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPointCreateCamPoseLookAtPoint in eine vollständige Kamera-Pose umgerechnet werden.

Ausführungsinformationen

Parameter

LongitudeLongitudeLongitudeLongitudelongitude (input_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Geographische Länge des 3D-Punktes.

LatitudeLatitudeLatitudeLatitudelatitude (input_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Geographische Breite des 3D-Punktes.

Restriktion: - pi / 2 <= Latitude && Latitude <= pi / 2

RadiusRadiusRadiusRadiusradius (input_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Radius des 3D-Punktes.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Normalenvektor der Äquatorebene (zeigt zum Nordpol).

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

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

ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Koordinatenachse in der Äquatorebene, die zum Nullmeridian zeigt.

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

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

XXXXx (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

X-Koordinate des 3D-Punktes.

YYYYy (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Y-Koordinate des 3D-Punktes.

ZZZZz (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Z-Koordinate des 3D-Punktes.

Ergebnis

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

Vorgänger

get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParamsGetShapeModel3dParams

Siehe auch

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher

Modul

3D Metrology