30 lines
776 B
Text
30 lines
776 B
Text
var subtract = Fn.new { |b1, b2|
|
|
var d = (b2 - b1) % 360
|
|
if (d < -180) d = d + 360
|
|
if (d >= 180) d = d - 360
|
|
return (d * 10000).round / 10000 // to 4dp
|
|
}
|
|
|
|
var pairs = [
|
|
[ 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]
|
|
]
|
|
|
|
System.print("Differences (to 4dp) between these bearings:")
|
|
for (pair in pairs) {
|
|
var p0 = pair[0]
|
|
var p1 = pair[1]
|
|
var diff = subtract.call(p0, p1)
|
|
var offset = (p0 < 0) ? " " : " "
|
|
System.print("%(offset)%(p0) and %(p1) -> %(diff)")
|
|
}
|