Angle difference between two bearings: Difference between revisions

Content added Content deleted
(→‎{{header|Excel}}: Added a draft for Excel LAMBDA)
(→‎Excel LAMBDA: Switched to functions over pair, added further tests.)
Line 899: Line 899:
{{Works with|Office 365 betas 2021}}
{{Works with|Office 365 betas 2021}}
<lang lisp>ANGLEBETWEENBEARINGS
<lang lisp>ANGLEBETWEENBEARINGS
=LAMBDA(a,
=LAMBDA(ab,
LAMBDA(b,
DEGREES(
DEGREES(
BEARINGDELTA(
BEARINGDELTA(
RADIANS(a)
RADIANS(ab)
)(
RADIANS(b)
)
)
)
)
)
)
)




BEARINGDELTA
BEARINGDELTA
=LAMBDA(a,
=LAMBDA(ab,
LAMBDA(b,
LET(
LET(
a, INDEX(ab, 1),
ax, SIN(a),
b, INDEX(ab, 2),
ay, COS(a),
ax, SIN(a),
bx, SIN(b),
ay, COS(a),
by, COS(b),
bx, SIN(b),
by, COS(b),


rem, "Sign * dot product",
rem, "Sign * dot product",
IF(0 < ((ay * bx) - (by * ax)),
IF(0 < ((ay * bx) - (by * ax)),
1,
1,
-1
-1
) * ACOS((ax * bx) + (ay * by))
) * ACOS((ax * bx) + (ay * by))
)
)
)
)</lang>
)</lang>


Using the Excel custom number format ###°
Using an Excel custom number format to display the degree symbol°
{{Out}}
{{Out}}
{| class="wikitable"
{| class="wikitable"
|-
|-
|||style="text-align:right; font-family:serif; font-style:italic; font-size:120%;"|fx
|||style="text-align:right; font-family:serif; font-style:italic; font-size:120%;"|fx
! colspan="5" style="text-align:left; vertical-align: bottom; font-family:Arial, Helvetica, sans-serif !important;"|=ANGLEBETWEENBEARINGS(D2)(E2)
! colspan="5" style="text-align:left; vertical-align: bottom; font-family:Arial, Helvetica, sans-serif !important;"|=ANGLEBETWEENBEARINGS(D2#)
|- style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff;"
|- style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff;"
|
|
Line 953: Line 949:
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 2
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 2
|
|
| style="text-align:right; background-color:#cbcefb" | 25°
| style="text-align:right; background-color:#cbcefb" | 25.00°
|
|
| style="text-align:right" | 20°
| style="text-align:right" | 20
| style="text-align:right" | 45°
| style="text-align:right" | 45
|-
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 3
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 3
|
|
| style="text-align:right" | 90°
| style="text-align:right" | 90.00°
|
|
| style="text-align:right" | -45°
| style="text-align:right" | -45
| style="text-align:right" | 45°
| style="text-align:right" | 45
|-
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 4
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 4
|
|
| style="text-align:right" | 175°
| style="text-align:right" | 175.00°
|
|
| style="text-align:right" | -85°
| style="text-align:right" | -85
| style="text-align:right" | 90°
| style="text-align:right" | 90
|-
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 5
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 5
|
|
| style="text-align:right" | -175°
| style="text-align:right" | -175.00°
|
|
| style="text-align:right" | -95°
| style="text-align:right" | -95
| style="text-align:right" | 90°
| style="text-align:right" | 90
|-
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 6
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 6
|
|
| style="text-align:right" | 170°
| style="text-align:right" | 170.00°
|
|
| style="text-align:right" | -45°
| style="text-align:right" | -45
| style="text-align:right" | 125°
| style="text-align:right" | 125
|-
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 7
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 7
|
|
| style="text-align:right" | -170°
| style="text-align:right" | -170.00°
|
|
| style="text-align:right" | -45°
| style="text-align:right" | -45
| style="text-align:right" | 145°
| style="text-align:right" | 145
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 8
|
| style="text-align:right" | -118.12°
|
| style="text-align:right" | 29.4803
| style="text-align:right" | -88.6381
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 9
|
| style="text-align:right" | -80.71°
|
| style="text-align:right" | -78.3251
| style="text-align:right" | -159.0360
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 10
|
|
|
|
|
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 11
|
| style="text-align:right" | -139.58°
|
| style="text-align:right" | -70099.7423381093
| style="text-align:right" | 29840.6743787672
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 12
|
| style="text-align:right" | -72.34°
|
| style="text-align:right" | -165313.6666297350
| style="text-align:right" | 33693.9894517456
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 13
|
| style="text-align:right" | -161.50°
|
| style="text-align:right" | 1174.8380510598
| style="text-align:right" | -154146.6649012470
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 14
|
| style="text-align:right" | 37.30°
|
| style="text-align:right" | 60175.7730679554
| style="text-align:right" | 42213.0719235437
|}
|}



=={{header|F#|F sharp}}==
=={{header|F#|F sharp}}==