16 lines
525 B
Text
16 lines
525 B
Text
diff_bearing(b1, b2) := block(
|
|
r: mod(b2-b1, 360),
|
|
if r>180 then r-360 else r)$
|
|
|
|
test_bearings: [[20, 45], [-45, 45], [-85, 90],
|
|
[-95, 90], [-45, 125], [-45, 145],
|
|
[29.4803, -88.6381], [-78.3251, -159.036]]$
|
|
|
|
big_bearings: [[-70099.74233810938, 29840.67437876723],
|
|
[-165313.6666297357, 33693.9894517456],
|
|
[1174.8380510598456, -154146.66490124757],
|
|
[60175.77306795546, 42213.07192354373]]$
|
|
|
|
db_unary(list) := map(lambda([l], apply(diff_bearing, l)), list)$
|
|
db_unary(test_bearings);
|
|
db_unary(big_bearings);
|