API Reference > geometry-core > CartesianGeometry > YawPitchRollAngles YawPitchRollAngles Class Three angles that determine the orientation of an object in space. Sometimes referred to as Tait–Bryan angles. The matrix construction can be replicated by this logic: xyz coordinates have x forward y to left z up Note that this is a right handed coordinate system. yaw is a rotation of x towards y, i.e. around positive z: yawMatrix = Matrix3d.createRotationAroundAxisIndex(2, Angle.createDegrees(yawDegrees)); pitch is a rotation that raises x towards z, i.e. rotation around negative y: pitchMatrix = Matrix3d.createRotationAroundAxisIndex(1, Angle.createDegrees(-pitchDegrees)); roll is rotation of y towards z, i.e. rotation around positive x: rollMatrix = Matrix3d.createRotationAroundAxisIndex(0, Angle.createDegrees(rollDegrees)); The YPR matrix is the product result = yawMatrix.multiplyMatrixMatrix(pitchMatrix.multiplyMatrixMatrix(rollMatrix)); Note that this is for "column based" matrix, with vectors appearing to the right Hence a vector is first rotated by roll, then the pitch, finally yaw. Methods Name Description constructor(yaw: Angle = ..., pitch: Angle = ..., roll: Angle = ...): YawPitchRollAngles clone(): YawPitchRollAngles Make a copy of this YawPitchRollAngles. freeze(): Readonly<YawPitchRollAngles> Freeze this YawPitchRollAngles isAlmostEqual(other: YawPitchRollAngles): boolean * Compare angles between this and other. isIdentity(allowPeriodShift: boolean = true): boolean Returns true if this rotation does nothing. maxAbsDegrees(): number Return the largest angle in degrees. maxAbsRadians(): number Return the largest angle in radians maxDiffRadians(other: YawPitchRollAngles): number Return the largest difference of angles (in radians) between this and other setFrom(other: YawPitchRollAngles): void Install all rotations from other into this. setFromJSON(json?: YawPitchRollProps): void populate yaw, pitch and roll fields using Angle.fromJSON sumSquaredDegrees(): number Return the sum of squared angles in degrees. sumSquaredRadians(): number Return the sum of the angles in squared radians toJSON(): YawPitchRollProps Convert to a JSON object of form { pitch: 20 , roll: 29.999999999999996 , yaw: 10 }. toMatrix3d(result?: Matrix3d): Matrix3d Expand the angles into a (rigid rotation) matrix. createDegrees(yawDegrees: number, pitchDegrees: number, rollDegrees: number): YawPitchRollAngles Static constructor for YawPitchRollAngles with angles in degrees. createFromMatrix3d(matrix: Matrix3d, result?: YawPitchRollAngles): undefined | YawPitchRollAngles Static Attempts to create a YawPitchRollAngles object from an Matrix3d createRadians(yawRadians: number, pitchRadians: number, rollRadians: number): YawPitchRollAngles Static constructor for YawPitchRollAngles with angles in radians. fromJSON(json?: YawPitchRollProps): YawPitchRollAngles Static construct a YawPitchRoll object from an object with 3 named angles tryFromTransform(transform: Transform): { angles: undefined | YawPitchRollAngles, origin: Point3d } Static Return an object from a Transform as an origin and YawPitchRollAngles. Properties Name Type Description pitch Angle The pitch angle. roll Angle The roll angle. yaw Angle The yaw angle. Defined in geometry3d/YawPitchRollAngles.ts Line 49 Last Updated: 11 June, 2024