MCPcopy Create free account
hub / github.com/PDAL/PDAL / createOptechRotationMatrix

Function createOptechRotationMatrix

io/OptechCommon.hpp:80–98  ·  view source on GitHub ↗

Optech does it like R3(heading) * R1(-pitch) * R2(-roll)

Source from the content-addressed store, hash-verified

78
79// Optech does it like R3(heading) * R1(-pitch) * R2(-roll)
80inline pdal::georeference::RotationMatrix
81createOptechRotationMatrix(double roll, double pitch, double heading)
82{
83 return georeference::RotationMatrix(
84 std::cos(roll) * std::cos(heading) +
85 std::sin(pitch) * std::sin(roll) * std::sin(heading), // m00
86 std::cos(pitch) * std::sin(heading), // m01
87 std::cos(heading) * std::sin(roll) -
88 std::cos(roll) * std::sin(pitch) * std::sin(heading), // m02
89 std::cos(heading) * std::sin(pitch) * std::sin(roll) -
90 std::cos(roll) * std::sin(heading), // m10
91 std::cos(pitch) * std::cos(heading), // m11
92 -std::sin(roll) * std::sin(heading) -
93 std::cos(roll) * std::cos(heading) * std::sin(pitch), // m12
94 -std::cos(pitch) * std::sin(roll), // m20
95 std::sin(pitch), // m21
96 std::cos(pitch) * std::cos(roll) // m22
97 );
98}
99}

Callers 2

initializeMethod · 0.85
readMethod · 0.85

Calls 1

RotationMatrixClass · 0.85

Tested by

no test coverage detected