Angle difference between two bearings
sub infix:<∠> (Real $b1, Real $b2) {
(my $b = ($b2 - $b1 + 720) % 360) > 180 ?? $b - 360 !! $b;
}
for 20, 45,
-45, 45,
-85, 90,
-95, 90,
-45, 125,
-45, 145,
29.4803, -88.6381,
-78.3251, -159.036,
-70099.74233810938, 29840.67437876723,
-165313.6666297357, 33693.9894517456,
1174.8380510598456, -154146.66490124757,
60175.77306795546, 42213.07192354373
-> $b1, $b2 { printf "%10.2f %10.2f = %8.2f\n", $b1, $b2, $b1 ∠ $b2 }
Output:
20.00 45.00 = 25.00
-45.00 45.00 = 90.00
-85.00 90.00 = 175.00
-95.00 90.00 = -175.00
-45.00 125.00 = 170.00
-45.00 145.00 = -170.00
29.48 -88.64 = -118.12
-78.33 -159.04 = -80.71
-70099.74 29840.67 = -139.58
-165313.67 33693.99 = -72.34
1174.84 -154146.66 = -161.50
60175.77 42213.07 = 37.30
Last updated