Swiss Micros DM32: Spherical Triangle ft. Law of Cosines
Introduction
The state file spheretri.d32 is about solving triangles on the spherical space.
The programs solve spherical triangles in two common problems: SSS (side-side-side, really arc lengths) and SAS (side-angle-side). All the inputs are in decimal degrees.
Also calculated are the surface area and perimeter, both in radians. The radius is assumed to be 1.
Surface Area = ( A° + B° + C° ) * π / 180 – π = A + B + C – π
Perimeter = ( X° + Y° + Z°) * π / 180 = X + Y + Z
The sum of the angles (A, B, C) must be greater than 180° (π radians). Due to this requirement, in solving for angles and sides, the Law of Cosines will be used in each instance. The Law of Sines is only advised to check ratios.
Equation listing
Law of Sines – can be used as a check on triangles:
SIN(A)÷SIN(X)=SIN(B)÷SIN(Y)
Law of Cosines – two equations:
COS(Z)=COS(X)×COS(Y)+SIN(X)×SIN(Y)×COS(C)
COS(C)=-COS(A)×COS(B)+SIN(A)×SIN(B)×COS(Z)
Here the variables are general place holders.
Program Listing
Labels:
Label H: help program
Label I: Initialization routine. Sets the angles mode to degrees and clears the variables.
Label C: Starts the solve spherical triangle routine: given the three arc lengths X, Y, and Z.
Label Z: Starts the solve spherical triangle routine: given the arc lengths X and Y and and the angle between the arcs, angle C
Label F: Routine to solve for angles A and B, perimeter, and area
General Instructions
To start a new problem, execute program I.
To solve a spherical triangle given the sides (arc lengths), execute program C. (SSS)
To solve a spherical triangle given two sides and the internal angle, execute program Z. (SAS)
This program also solves for the surface area, assuming a radius of 1, and perimeter of the triangle.
Program Code
H01 LBL H
H02 SF 10
H03 EQN: A N G L E _ A _ B _ C
H04 EQN: S I D E S _ X _ Y _ Z
H05 EQN: X E Q _ C _ S S S
H06 EQN: X E Q _ Z _ S A S
H07 EQN: E Q N S _ A R E _ S I N E
H08 EQN: A N D _ C O S I N E _ L A W S
H09 CF 10
H10 RTN
I01 LBL I
I02 DEG
I03 CLVARS
I04 CLx
I05 RTN
C01 LBL C
C02 INPUT X
C03 INPUT Y
C04 INPUT Z
C05 RCL Z
C06 COS
C07 RCL X
C08 COS
C09 RCL Y
C10 COS
C11 ×
C12 -
C13 RCL X
C14 SIN
C15 RCL Y
C16 SIN
C17 ×
C18 ÷
C19 ACOS
C20 STO C
C21 VIEW C
C22 XEQ F
C23 RTN
Z01 LBL Z
Z02 INPUT X
Z03 INPUT Y
Z04 INPUT C
Z05 RCL X
Z06 COS
Z07 RCL Y
Z08 COS
Z09 ×
Z10 RCL X
Z11 SIN
Z12 RCL Y
Z13 SIN
Z14 ×
Z15 RCL C
Z16 COS
Z17 ×
Z18 +
Z19 ACOS
Z20 STO Z
Z21 VIEW Z
Z22 XEQ F
Z23 RTN
F01 LBL F
F02 RCL X
F03 COS
F04 RCL Z
F05 COS
F06 RCL Y
F07 COS
F08 ×
F09 -
F10 RCL Z
F11 SIN
F12 RCL Y
F13 SIN
F14 ×
F15 ÷
F16 ACOS
F17 STO A
F18 RCL Y
F19 COS
F20 RCL X
F21 COS
F22 RCL Z
F23 COS
F24 ×
F25 -
F26 RCL X
F27 SIN
F28 RCL Z
F29 SIN
F30 ×
F31 ÷
F32 ACOS
F33 STO B
F34 RCL A
F35 RCL+ B
F36 RCL+ C
F37 →RAD
F38 π
F39 -
F40 STO R
F41 RCL X
F42 RCL+ Y
F43 RCL+ Z
F44 →RAD
F45 STO P
F46 VIEW A
F47 VIEW B
F48 VIEW R
F49 VIEW P
F50 RTN
You can download the DM32 state file here:
https://drive.google.com/file/d/1qX-y2G5sCOmm4ktmZbnGoPI3uzrx6IfF/view?usp=sharing
Examples (FIX 5)
SSS Problem (LBL C)
X = 18.66°
Y = 20.49°
Z = 19.95°
Results:
C = 62.04726°
A = 55.92702°
B = 64.98954°
R = 0.05173 radians (surface area)
P = 1.03149 radians (perimeter)
SAS Problem (LBL Z)
X = 17.00 °
Y = 23.32°
C = 64.55°
Results:
Z = 21.88733°
A = 45.08768°
B = 73.51096 °
R = 0.05495 radians (surface area)
P = 1.08572 radians (perimeter)
Sources
Wikipedia. “Spherical Triangle” Updated April 9, 2024. Retrieved April 11, 2024.
Gray, Glen. “Spherical Trigonometry – An Introduction and Basic Theorems” Video. February 12, 2023. Retrieved April 11, 2024. https://www.youtube.com/watch?v=McWv9bcvMYg
Note: The blog will be posted on Saturdays only on June and July 2024.
Eddie
All original content copyright, © 2011-2024. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.