Exact Trigonometric Values
Exact trigonometric values are those values of and that can be calculated exactly.
The calculations of these values vary from very simple to somewhat complicated.
Imagine a right triangle in which base and hypotenuse are equal and height is Then
x in radians | x in degrees | |||
---|---|---|---|---|
Imagine a right triangle in which height and hypotenuse are equal and base is Then
x in radians | x in degrees | |||
---|---|---|---|---|
From the right isosceles triangle:
x in radians | x in degrees | |||
---|---|---|---|---|
From the equilateral triangle:
x in radians | x in degrees | |||
---|---|---|---|---|
For derivation of see Sine of 18°.
x in radians | x in degrees | |||
---|---|---|---|---|
The derivation of also produces the value which is in fact therefore:
x in radians | x in degrees | |||
---|---|---|---|---|
Derivation of cos 18°
[edit | edit source]
Let Then:
Therefore:
Simplify and result is: or: where or
|
Derivation of cos 36°
[edit | edit source]
Let Then and
Therefore: or
This cubic equation contains the root Remove factor and remaining quadratic is:
Solutions of this quadratic are:
|
Calculation of tan 18°
[edit | edit source]
|
Values for 18° and 36°
[edit | edit source]x in radians | x in degrees | |||
---|---|---|---|---|
Calculation of cos 9°
[edit | edit source]
Using half-angle formula[edit | edit source]
Using difference formula[edit | edit source]
Although the two calculated values of are expressed differently, it can be shown that the two values and are equal.
|
Exact Values for Common Angles
[edit | edit source]Radians Degrees sin cos tan 0° π/60 3° π/30 6° π/20 9° π/15 12° π/12 15° π/10 18° 7π/60 21° π/8 22.5° 2π/15 24° 3π/20 27° π/6 30° 11π/60 33° π/5 36° 13π/60 39° 7π/30 42° π/4 45°
Other Expressions of Exact Values
[edit | edit source]
Depending on how the value is calculated, exact trigonometric values can be expressed in different ways. For example:
This value of contains calculation of 2 square roots. Value shown in table above contains calculation of 3 square roots.
This value of contains calculation of 3 square roots. Value shown in table above contains calculation of 4 square roots. |
Create a Dictionary
[edit | edit source]If you would like to create a dictionary containing the above values, the following python code has been tested on a Mac:
# python code
# Constants.py
import decimal
D = decimal.Decimal
decimal.getcontext().prec = 50
L1 = []
L1 += [('Angle in Degrees', ('Sine', 'Cosine', 'Tangent'))]
L1 += [(0, (0, 1, 0))]
r5 = D(5).sqrt()
r3 = D(3).sqrt()
r2 = D(2).sqrt()
root1 = (10 - 2*r5).sqrt()
sval = (8 - r3*(r5+1) - root1).sqrt()
cval = (8 + r3*(r5+1) + root1).sqrt()
L1 += [(3, (
sval/4,
cval/4,
sval/cval )
)]
L1 += [(6, (
((30 - 6*r5).sqrt() - r5 - 1) / 8,
( r3*(r5 + 1) + root1 ) / 8,
( (r5+1)*(5 - 2*r5).sqrt() + r3*(1 - r5) ) / 2 )
)]
v = (10 + 2*r5).sqrt()
sval = 4 - v
cval = 4 + v
r = (5 - 2*r5).sqrt()
L1 += [(
9, (
(sval/8).sqrt(),
(cval/8).sqrt(),
( 11 + 4*r5 - (3+r5)*v ).sqrt() )
# (+ 1 + r5 - r*(r5 + 2)) )
)]
v = (30-6*r5).sqrt()
L1 += [(
12, (
(7 - r5 - v).sqrt() / 4,
(9 + r5 + v).sqrt() / 4,
(92 - 40*r5 + (6*r5-14)*v ).sqrt() / 2 )
)]
L1 += [(
15, (
(r2*r3 - r2)/4,
(r2*r3 + r2)/4,
2 - r3 )
)]
L1 += [(
18, (
(r5-1)/4,
((10 + 2*r5).sqrt())/4,
(25 - 10*r5).sqrt()/5 )
)]
v = (7 + (30 - 6*r5).sqrt() - r5).sqrt()
sval = ((4 - v)/8).sqrt()
cval = ((4 + v)/8).sqrt()
L1 += [(
21, (
sval,
cval,
sval/cval )
)]
L1 += [(
22.5, (
(2 - r2).sqrt()/2,
(2 + r2).sqrt()/2,
r2 - 1 )
)]
L1 += [(
24, (
( r3*r5 + r3 - root1 ) / 8,
(1 + r5 + (30 - 6*r5).sqrt()) / 8,
( (3*r5+7)*(5-2*r5).sqrt() - r3*(r5+3) ) / 2 )
)]
v = root1
L1 += [(
27, (
((4 - v)/8).sqrt(),
((4 + v)/8).sqrt(),
( 11 - 4*r5 + (r5-3)*v ).sqrt() )
)]
L1 += [(
30, (
D('0.5'),
r3/2,
r3/3 )
)]
sval = 8 - r3*r5 - r3 + root1
sval = sval.sqrt()
cval = 8 + r3*r5 + r3 - root1
cval = cval.sqrt()
L1 += [(
33, (
sval/4,
cval/4,
sval/cval )
)]
L1 += [(
36, (
(10-2*r5).sqrt()/4,
(1+r5)/4,
(5 - 2*r5).sqrt() )
)]
v1 = (30 - 6*r5).sqrt()
v2 = 2*(7 - r5 - v1).sqrt()
sval = (8 - v2).sqrt()
cval = (8 + v2).sqrt()
L1 += [(
39, (
sval/4,
cval/4,
sval/cval )
)]
v = (30 - 6*r5).sqrt()
sval = (9 - v + r5).sqrt()/4
cval = (7 + v - r5).sqrt()/4
L1 += [(
42, (
sval,
cval,
sval/cval )
)]
L1 += [(
45, (
r2/2,
r2/2,
D(1) )
)]
dict1 = dict(L1)
|
Check the Dictionary
[edit | edit source]The following python code is used to check the contents of the dictionary and to verify that there are no obvious errors.
almostZero = D('1e-' + str(decimal.getcontext().prec - 2));
print ()
print ('Checking each entry.')
# Basic check of each entry.
for angle in dict1 :
if isinstance (angle, str) : continue
sine, cosine, tangent = dict1[angle]
print ()
print (angle)
print (' ', sine)
print (' ', cosine)
print (' ', tangent)
diff = abs(1 -(sine*sine + cosine*cosine))
if diff > almostZero :
print ('error1:', diff)
diff = abs (sine/cosine - tangent)
if diff > almostZero :
print ('error2:', diff)
def getData (angle) :
# sin,cos = getData(angle)
if 135 >= angle >= 0 : pass
else :
print ('error3: angle =', angle)
if angle > 90 :
s1,c1,t1 = dict1[angle-90]
return (c1, -s1)
if angle > 45 :
s1,c1,t1 = dict1[90-angle]
return (c1,s1)
s1,c1,t1 = dict1[angle]
return (s1,c1)
print ()
print ('Checking doubles and triples.')
for angle1 in dict1 :
if isinstance (angle1, str) : continue
s1,c1,t1 = dict1[angle1]
angle2 = 2*angle1
s2,c2 = getData(angle2)
s2_ = 2*s1*c1
diff = abs (s2_ - s2)
if diff > almostZero :
print ('error4:', diff)
angle3 = 3*angle1
s3,c3 = getData(angle3)
c3_ = 4*c1*c1*c1 - 3*c1
diff = abs (c3_ - c3)
if diff > almostZero :
print ('error5:', diff)
|
Links to related Topics
[edit | edit source]Angle sum and difference identities
Using fifth roots of unity to calculate Cosine of 72°.