Angle difference between two bearings: Difference between revisions
Content added Content deleted
No edit summary |
(Scala contribution added.) |
||
Line 1,500: | Line 1,500: | ||
37.29885558826936</pre> |
37.29885558826936</pre> |
||
=={{header|Scala}}== |
|||
{{Out}}Best seen running in your browser either by [https://scalafiddle.io/sf/lH5eUix/0 ScalaFiddle (ES aka JavaScript, non JVM)] or [https://scastie.scala-lang.org/IgQSmzcjSpSMxvWWoZUc9w Scastie (remote JVM)]. |
|||
<lang Scala>object AngleDifference extends App { |
|||
private def getDifference(b1: Double, b2: Double) = { |
|||
val r = (b2 - b1) % 360.0 |
|||
if (r < -180.0) r + 360.0 else if (r >= 180.0) r - 360.0 else r |
|||
} |
|||
println("Input in -180 to +180 range") |
|||
println(getDifference(20.0, 45.0)) |
|||
println(getDifference(-45.0, 45.0)) |
|||
println(getDifference(-85.0, 90.0)) |
|||
println(getDifference(-95.0, 90.0)) |
|||
println(getDifference(-45.0, 125.0)) |
|||
println(getDifference(-45.0, 145.0)) |
|||
println(getDifference(-45.0, 125.0)) |
|||
println(getDifference(-45.0, 145.0)) |
|||
println(getDifference(29.4803, -88.6381)) |
|||
println(getDifference(-78.3251, -159.036)) |
|||
println("Input in wider range") |
|||
println(getDifference(-70099.74233810938, 29840.67437876723)) |
|||
println(getDifference(-165313.6666297357, 33693.9894517456)) |
|||
println(getDifference(1174.8380510598456, -154146.66490124757)) |
|||
println(getDifference(60175.77306795546, 42213.07192354373)) |
|||
}</lang> |
|||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func bearingAngleDiff(b1, b2) { |
<lang ruby>func bearingAngleDiff(b1, b2) { |
||
Line 1,527: | Line 1,554: | ||
}</lang> |
}</lang> |
||
{{out}} |
{{out}} |
||
⚫ | |||
<pre> |
|||
⚫ | |||
-------------------- -------------------- -------------------- |
-------------------- -------------------- -------------------- |
||
20 45 25 |
20 45 25 |
||
Line 1,541: | Line 1,567: | ||
-165313.6666297357 33693.9894517456 -72.3439185187 |
-165313.6666297357 33693.9894517456 -72.3439185187 |
||
1174.8380510598456 -154146.66490124757 -161.5029523074156 |
1174.8380510598456 -154146.66490124757 -161.5029523074156 |
||
60175.77306795546 42213.07192354373 37.29885558827 |
60175.77306795546 42213.07192354373 37.29885558827</pre> |
||
</pre> |
|||
=={{header|zkl}}== |
=={{header|zkl}}== |