﻿RotationEuler Method
A spatial [3x3] fixed axis rotation matrix defined by three Euler angles in the x-convention (Z-X-Z).

Namespace:  ceometric.VectorGeometry
Assembly:  ceometric.VectorGeometry (in ceometric.VectorGeometry.dll) Version: 1.8.0.0 (1.8.0.0)

# Syntax

C#
```public static Matrix3d RotationEuler(
double phi,
double theta,
double psi
)```
Visual Basic (Declaration)
```Public Shared Function RotationEuler ( _
phi As Double, _
theta As Double, _
psi As Double _
) As Matrix3d```
Visual C++
```public:
static Matrix3d^ RotationEuler(
double phi,
double theta,
double psi
)```

#### Parameters

phi
Type: System..::.Double
The angle in [radian] of the first rotation. Rotates counterclockwise around the global Z-axis.
theta
Type: System..::.Double
The angle in [radian] of the second rotation. Rotates counterclockwise around the global X-axis.
psi
Type: System..::.Double
The angle in [radian] of the third rotation. Rotates counterclockwise around the global Z-axis (again).

#### Return Value

Returns a [3x3] rotation matrix defined by three Euler angles in the x-convention (Z-X-Z).

# Remarks

The z-x-z convention is the most common Euler rotation convention.

"global axis" means that the axis of rotation is fixed during the rotation.

See RotationTaitBryan(Double, Double, Double) for moving axis rotation.

# Examples

The following example illustrates the rotation convention:
CopyC#
```Point p = new Point(1,0,0);
Matrix3d rMat = Matrix3d.RotationEuler(Math.PI/2, Math.PI/2, Math.PI/2);
Point rotatedPoint = rMat * p;```
The coordinates of the rotated point are rotatedPoint = (0,0,1). This can be split into the following partial rotations:
• rotate p = (1,0,0) with phi = 90 degrees around the global z-Axis: p1 = (0,1,0)
• rotate p1 = (0,1,0) with theta = 90 degrees around the global x-Axis: p2 = (0,0,1)
• rotate p2 = (0,0,1) with psi = 90 degrees around the global z-Axis (again): p3 = (0,0,1)