Name
convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart — Konvertieren sphärischer Koordinaten eines 3D-Punktes in kartesische
Koordinaten.
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)
Herror convert_point_3d_spher_to_cart(const HTuple& Longitude, const HTuple& Latitude, const HTuple& Radius, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, double* X, double* Y, double* Z)
Herror 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)
void HOperatorSetX.ConvertPoint3dSpherToCart(
[in] VARIANT Longitude, [in] VARIANT Latitude, [in] VARIANT Radius, [in] VARIANT EquatPlaneNormal, [in] VARIANT ZeroMeridian, [out] VARIANT* X, [out] VARIANT* Y, [out] VARIANT* Z)
VARIANT HMiscX.ConvertPoint3dSpherToCart(
[in] VARIANT Longitude, [in] VARIANT Latitude, [in] VARIANT Radius, [in] BSTR EquatPlaneNormal, [in] BSTR ZeroMeridian, [out] VARIANT* Y, [out] VARIANT* Z)
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)
Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart konvertiert die
sphärischen Koordinaten eines 3D-Punktes, die in LongitudeLongitudeLongitudeLongitudeLongitudelongitude
(geographische Länge), LatitudeLatitudeLatitudeLatitudeLatitudelatitude (geographische Breite) und
RadiusRadiusRadiusRadiusRadiusradius gegeben sind, in kartesische Koordinaten XXXXXx,
YYYYYy und ZZZZZz. Die sphärischen Koordinaten
LongitudeLongitudeLongitudeLongitudeLongitudelongitude und LatitudeLatitudeLatitudeLatitudeLatitudelatitude müssen im Bogenmaß
übergeben werden. Der Parameter LatitudeLatitudeLatitudeLatitudeLatitudelatitude muss dabei im
Bereich [-PI/2,+PI/2] liegen, wobei der
Nordpol die Breite PI/2 und der Südpol entsprechend die
Breite -PI/2 hat.
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 kartesischen in
sphärische Koordinaten mit convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher zu
gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und
ZeroMeridianZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian die selben Werte angegeben werden wie bei
convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart.
Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart 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_pointCreateCamPoseLookAtPointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPoint in eine vollständige
Kamera-Pose umgerechnet werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Geographische Länge des 3D-Punktes.
Geographische Breite des 3D-Punktes.
Restriktion: - pi / 2 <= Latitude && Latitude <= pi / 2
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"
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"
XXXXXx (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinate des 3D-Punktes.
YYYYYy (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinate des 3D-Punktes.
ZZZZZz (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinate des 3D-Punktes.
Sind die Parameterwerte korrekt, dann liefert
convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParams
convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher
3D Metrology