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

Published on 12 May 2024 09:40 PM
#D

How to resolve the algorithm Angle difference between two bearings step by step in the D 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 D programming language

Source code in the d programming language

import std.stdio;

double getDifference(double b1, double b2) {
    double r = (b2 - b1) % 360.0;
    if (r < -180.0) {
        r += 360.0;
    }
    if (r >= 180.0) {
        r -= 360.0;
    }
    return r;
}

void main() {
    writeln("Input in -180 to +180 range");
    writeln(getDifference(20.0, 45.0));
    writeln(getDifference(-45.0, 45.0));
    writeln(getDifference(-85.0, 90.0));
    writeln(getDifference(-95.0, 90.0));
    writeln(getDifference(-45.0, 125.0));
    writeln(getDifference(-45.0, 145.0));
    writeln(getDifference(-45.0, 125.0));
    writeln(getDifference(-45.0, 145.0));
    writeln(getDifference(29.4803, -88.6381));
    writeln(getDifference(-78.3251, -159.036));

    writeln("Input in wider range");
    writeln(getDifference(-70099.74233810938, 29840.67437876723));
    writeln(getDifference(-165313.6666297357, 33693.9894517456));
    writeln(getDifference(1174.8380510598456, -154146.66490124757));
    writeln(getDifference(60175.77306795546, 42213.07192354373));
}


  

You may also check:How to resolve the algorithm Jensen's Device step by step in the Oforth programming language
You may also check:How to resolve the algorithm Window creation step by step in the Eiffel programming language
You may also check:How to resolve the algorithm Stern-Brocot sequence step by step in the Action! programming language
You may also check:How to resolve the algorithm Call an object method step by step in the Kotlin programming language
You may also check:How to resolve the algorithm Horizontal sundial calculations step by step in the ALGOL 68 programming language