Panotools::Matrix - Miscellaneous math for panoramic images
$matrix = rollpitchyaw2matrix ($roll, $pitch, $yaw);
All angles are in radians not degrees.
rollpitchyaw2matrix returns a matrix arrayref that encapsulates a transformation suitable for rotating a vector/point by three degrees of freedom (roll, pitch and yaw).
roll is positive rotation around the x-axis
pitch is negative rotation around the y-axis
yaw is negative rotation around the z axis
use Panotools::Matrix qw(matrix2rollpitchyaw rollpitchyaw2matrix multiply);
my $point = [[$x1], [$y1], [$z1]];
my $matrix = rollpitchyaw2matrix ($roll, $pitch, $yaw);
my $result = multiply ($matrix, $point);
($x2, $y2, $z2) = ($result->, $result->, $result->);