convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart (Operator)
Name
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
— Konvertieren sphärischer Koordinaten eines 3D-Punktes in kartesische
Koordinaten.
Signatur
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_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
konvertiert die
sphärischen Koordinaten eines 3D-Punktes, die in Longitude Longitude Longitude Longitude longitude
(geographische Länge), Latitude Latitude Latitude Latitude latitude
(geographische Breite) und
Radius Radius Radius Radius radius
gegeben sind, in kartesische Koordinaten X X X X x
,
Y Y Y Y y
und Z Z Z Z z
. Die sphärischen Koordinaten
Longitude Longitude Longitude Longitude longitude
und Latitude Latitude Latitude Latitude latitude
müssen im Bogenmaß
übergeben werden. Der Parameter Latitude Latitude Latitude Latitude latitude
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
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
und ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
festgelegt
werden.
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
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
ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
festgelegt werden. Dazu muss die (in der
Äquatorebene liegende) Koordinatenachse angegeben werden, die zum
Nullmeridian zeigen soll. Folgende Werte für ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
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 EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
und ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
zulässig, d.h. die Normale der
Äquatorebene darf nicht parallel zur Richtung des Nullmeridians
sein. Demnach ist beispielsweise die Kombination
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
='y' "y" "y" "y" "y" und
ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
='-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_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
zu
gewährleisten, müssen für EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
und
ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
die selben Werte angegeben werden wie bei
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
.
Der Operator convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
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_point create_cam_pose_look_at_point CreateCamPoseLookAtPoint CreateCamPoseLookAtPoint CreateCamPoseLookAtPoint
in eine vollständige
Kamera-Pose umgerechnet werden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Longitude Longitude Longitude Longitude longitude
(input_control) angle.rad(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Geographische Länge des 3D-Punktes.
Latitude Latitude Latitude Latitude latitude
(input_control) angle.rad(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Geographische Breite des 3D-Punktes.
Restriktion: - pi / 2 <= Latitude && Latitude <= pi / 2
Radius Radius Radius Radius radius
(input_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Radius des 3D-Punktes.
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal
(input_control) string →
HTuple HTuple Htuple (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"
ZeroMeridian ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian
(input_control) string →
HTuple HTuple Htuple (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"
X X X X x
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
X-Koordinate des 3D-Punktes.
Y Y Y Y y
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Y-Koordinate des 3D-Punktes.
Z Z Z Z z
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Z-Koordinate des 3D-Punktes.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
get_shape_model_3d_params get_shape_model_3d_params GetShapeModel3dParams GetShapeModel3dParams GetShapeModel3dParams
Siehe auch
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
Modul
3D Metrology