Code covered by the BSD License
-
aaa(A, B, C)
AAA gives both solutions to the angle-angle-angle problem, in radians.
-
aaad(A, B, C)
AAAD gives both solutions to the angle-angle-angle problem, in degrees.
-
aas(A, B, a)
AAS gives both solutions to the angle-angle-side problem, in radians.
-
aasd(A, B, a)
AASD gives both solutions to the angle-angle-side problem, in degrees.
-
acos2(alpha, beta)
-
acos2d(alpha, beta)
-
asa(A, B, c)
ASA gives both solutions to the angle-side-angle problem, in radians.
-
asad(A, B, c)
ASAD gives both solutions to the angle-side-angle problem, in degrees.
-
sas(a, C, b)
SAS gives both solutions to the side-angle-side problem, in radians.
-
sasd(a, C, b)
SASD gives both solutions to the side-angle-side problem, in degrees.
-
ssa(a, b, A)
SSA gives both solutions to the side-side-angle problem, in radians.
-
ssad(a, b, A)
SSAD gives both solutions to the side-side-angle problem, in degrees.
-
sss(a, b, c)
SSS gives both solutions to the side-side-side problem, in radians.
-
sssd(a, b, c)
SSS gives both solutions to the side-side-side problem, in degrees.
-
View all files
from
Oblique Spherical Triangle toolbox
by Rody Oldenhuis
solves the general oblique spherical triangle
|
| aaa(A, B, C)
|
function [a1, b1, c1, a2, b2, c2] = aaa(A, B, C)
%AAA gives both solutions to the angle-angle-angle problem, in radians.
%
% AAA(A, B, C) will result in NaNs if the existence condition
% |pi - |A|-|B|| <= |C| <= pi - ||A| - |B||
% is not met.
%
% See also AAAD.
% Rody P.S. Oldenhuis
% Delft University of Technology
% Last edited: 23/Feb/2009
% first solution
a1 = acos2((cos(A) + cos(B).*cos(C)) ./ (sin(B).*sin(C)), A);
b1 = acos2((cos(B) + cos(A).*cos(C)) ./ (sin(A).*sin(C)), B);
c1 = acos2((cos(C) + cos(A).*cos(B)) ./ (sin(A).*sin(B)), C);
% second solution
a2 = 2*pi - a;
b2 = 2*pi - b;
c2 = 2*pi - c;
% check constraints
indices = ( abs(pi - abs(A)-abs(B)) <= abs(C) <= pi - abs(abs(A)-abs(B)) );
a1(indices) = NaN; a2(indices) = NaN;
b1(indices) = NaN; b2(indices) = NaN;
c1(indices) = NaN; c2(indices) = NaN;
end
|
|
Contact us at files@mathworks.com