How to resolve the algorithm Angle difference between two bearings step by step in the Wren programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Angle difference between two bearings step by step in the Wren programming language

Table of Contents

Problem Statement

Finding the angle between two bearings is often confusing.[1]

Find the angle which is the result of the subtraction b2 - b1, where b1 and b2 are the bearings. Input bearings are expressed in the range   -180   to   +180   degrees. The  result  is also expressed in the range   -180   to   +180   degrees.

Compute the angle for the following pairs:

Allow the input bearings to be any (finite) value.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Angle difference between two bearings step by step in the Wren programming language

Source code in the wren programming language

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)")
}


  

You may also check:How to resolve the algorithm Hash from two arrays step by step in the zkl programming language
You may also check:How to resolve the algorithm Equilibrium index step by step in the J programming language
You may also check:How to resolve the algorithm Luhn test of credit card numbers step by step in the F# programming language
You may also check:How to resolve the algorithm Fusc sequence step by step in the 11l programming language
You may also check:How to resolve the algorithm Trabb Pardo–Knuth algorithm step by step in the PicoLisp programming language