convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher (Operator)
Name
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
— Konvertieren kartesischer Koordinaten eines 3D-Punktes in sphärische
Koordinaten.
Signatur
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 )
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 )
static double HMisc ::ConvertPoint3dCartToSpher (double X , double Y , double Z , const wchar_t* EquatPlaneNormal , const wchar_t* ZeroMeridian , double* Latitude , double* Radius )
(Nur Windows)
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_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
konvertiert die
kartesischen Koordinaten eines 3D-Punktes, die in X X X X x
,
Y Y Y Y y
und Z Z Z Z z
gegeben sind, in sphärische
Koordinaten. Die sphärischen Koordinaten werden in
Longitude Longitude Longitude Longitude longitude
(geographische Länge), Latitude Latitude Latitude Latitude latitude
(geographische Breite) und Radius Radius Radius Radius radius
zurückgegeben. Der
Wertebereich von Longitude Longitude Longitude Longitude longitude
ist
, der von Latitude Latitude Latitude Latitude latitude
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
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 sphärischen in
kartesische Koordinaten mit convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
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_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
.
Der Operator convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
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_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d CreateShapeModel3d
zur Erzeugung
eines 3D-Formmodells übergeben werden kann.
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
X X X X x
(input_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
X-Koordinate des 3D-Punktes.
Y Y Y Y y
(input_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Y-Koordinate des 3D-Punktes.
Z Z Z Z z
(input_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Z-Koordinate 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"
Longitude Longitude Longitude Longitude longitude
(output_control) angle.rad(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Geographische Länge des 3D-Punktes.
Latitude Latitude Latitude Latitude latitude
(output_control) angle.rad(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Geographische Breite des 3D-Punktes.
Radius Radius Radius Radius radius
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Radius des 3D-Punktes.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher
den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Nachfolger
create_shape_model_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d CreateShapeModel3d
,
find_shape_model_3d find_shape_model_3d FindShapeModel3d FindShapeModel3d FindShapeModel3d
Siehe auch
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart
Modul
3D Metrology