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

Let   Then:

 

 

  Therefore:

 

Simplify and result is:

  or:

  where   or  

 

 

 

Derivation of cos 36°

edit

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

   

   

     

Values for 18° and 36°

edit
x in radians x in degrees      
         
         

Calculation of cos 9°

edit

Using half-angle formula

edit

         

 

Using difference formula

edit
Radians Degrees sin cos
π/5 36°    
π/4 45°    

 

       

Although the two calculated values of   are expressed differently, it can be shown that the two values   and   are equal.


By using similar techniques many exact values can be calculated.

Exact Values for Common Angles

edit
Radians Degrees sin cos tan
       
π/60      
π/30      
π/20      
π/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

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

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

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

Angle sum and difference identities

Angle sum identities

Double-angle formulae

Half-angle formulae

Simple algebraic values

Common angles

Using fifth roots of unity to calculate Cosine of 72°.

Calculating π

Testing taylor series for