Z = sin (angle/2) Y = 0.0 X = 0.0 Q = cos (angle/2) #### use strict; use warnings; use Math::Complex; my $pi = 4*atan2(1,1); sub deg_to_rad { ($_[0]/180) * $pi; } sub rad_to_deg { ($_[0]/$pi) * 180; } print "Enter a value: "; my $value = ; my $radvalue = deg_to_rad($value); my $degvalue = rad_to_deg($radvalue); my $quat1 = sin($radvalue); my $quat1_deg = rad_to_deg($quat1); my $quat2 = cos($radvalue); my $quat2_deg = rad_to_deg($quat2); print "Original value: $value\n"; print "Radian value: $radvalue\n"; print "Degree value: $degvalue\n\n"; print "Quaternion first value: \t$quat1\n"; print "Quaternion first value(in degrees): \t$quat1_deg\n"; print "Quaternion fourth value: \t$quat2\n"; print "Quaternion fourth value(in degrees): \t$quat2_deg\n";