convert_point_3d_spher_to_cart🔗
Short description🔗
convert_point_3d_spher_to_cart — Convert spherical coordinates of a 3D point to Cartesian
coordinates.
Signature🔗
convert_point_3d_spher_to_cart( angle.rad Longitude, angle.rad Latitude, real Radius, string EquatPlaneNormal, string ZeroMeridian, out real X, out real Y, out real Z )
Description🔗
The operator convert_point_3d_spher_to_cart converts the
spherical coordinates of a 3D point, which are given in
Longitude, Latitude, and Radius, into the
Cartesian coordinates X, Y, and Z. The
spherical coordinates Longitude and Latitude must
be specified in radians. Furthermore, the Latitude must be
within the range \([-\pi/2,+\pi/2]\), where the
latitude of the north pole is \(\pi/2\), and hence, the
latitude of the south pole is \(-\pi/2\).
The orientation of the spherical coordinate system with respect to
the Cartesian coordinate system can be specified with the parameters
EquatPlaneNormal and ZeroMeridian.
EquatPlaneNormal determines the normal of the equatorial
plane (longitude == 0) pointing to the north pole (positive
latitude) and may take the following values:
-
'x': The equatorial plane is the yz plane. The positive x axis points to the north pole.
-
'-x': The equatorial plane is the yz plane. The positive x axis points to the south pole.
-
'y': The equatorial plane is the xz plane. The positive y axis points to the north pole.
-
'-y': The equatorial plane is the xz plane. The positive y axis points to the south pole.
-
'z': The equatorial plane is the xy plane. The positive z axis points to the north pole.
-
'-z': The equatorial plane is the xy plane. The positive z axis points to the south pole.
The position of the zero meridian can be specified with the
parameter ZeroMeridian. For this, the coordinate axis
(lying in the equatorial plane) that points to the zero meridian
must be passed. The following values for ZeroMeridian are
valid:
-
'x': The positive x axis points in the direction of the zero meridian.
-
'-x': The negative x axis points in the direction of the zero meridian.
-
'y': The positive y axis points in the direction of the zero meridian.
-
'-y': The negative y axis points in the direction of the zero meridian.
-
'z': The positive z axis points in the direction of the zero meridian.
-
'-z': The negative z axis points in the direction of the zero meridian.
Only reasonable combinations of EquatPlaneNormal and
ZeroMeridian are permitted, i.e., the normal of the
equatorial plane must not be parallel to the direction of the zero
meridian. For example, the combination
EquatPlaneNormal='y' and
ZeroMeridian='-y' is not permitted.
Note that in order to guarantee a consistent conversion back from
Cartesian to spherical coordinates by using
convert_point_3d_cart_to_spher, the same values must be
passed for EquatPlaneNormal and ZeroMeridian as
were passed to convert_point_3d_spher_to_cart.
The operator convert_point_3d_spher_to_cart can be used,
for example, to convert a camera position that is given in spherical
coordinates into Cartesian coordinates. The result can then be
utilized to create a complete camera pose by passing the
Cartesian coordinates to create_cam_pose_look_at_point.
Execution information🔗
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Processed without parallelization.
Parameters🔗
Longitude (input_control) angle.rad(-array) → (real)
Longitude of the 3D point.
Latitude (input_control) angle.rad(-array) → (real)
Latitude of the 3D point.
Restriction: -pi/2 <= Latitude && Latitude <= pi/2
Radius (input_control) real(-array) → (real)
Radius of the 3D point.
EquatPlaneNormal (input_control) string → (string)
Normal vector of the equatorial plane (points to the north pole).
Default: '-y'
List of values: '-x', '-y', '-z', 'x', 'y', 'z'
ZeroMeridian (input_control) string → (string)
Coordinate axis in the equatorial plane that points to the zero meridian.
Default: '-z'
List of values: '-x', '-y', '-z', 'x', 'y', 'z'
X (output_control) real(-array) → (real)
X coordinate of the 3D point.
Y (output_control) real(-array) → (real)
Y coordinate of the 3D point.
Z (output_control) real(-array) → (real)
Z coordinate of the 3D point.
Result🔗
If the parameters are valid, the operator
convert_point_3d_spher_to_cart returns the value 2 (H_MSG_TRUE). If
necessary an exception is raised.
Combinations with other operators🔗
Combinations
Possible predecessors
See also
Module🔗
3D Metrology