Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.
Sine Θ = oposite/hypotenuse
Cosine Θ = adjacent/hypotenuse
Tangent Θ = oposite/adjacent

So in order to calculate the Sine or the cosine or the tangent I need to know 3 sides of a right triangle. 2 for each coresponding trigonometric function. How does a calculator calculate the sine,cosine,tangent of a number (that is actually an angle ?) without knowing any sides?

share|improve this question
    
By Taylor approximation, I guess. But I'm not sure. –  1015 May 18 '13 at 15:28
    
+1 for a good question –  iostream007 May 18 '13 at 15:45
5  
There is also the CORDIC algorithm –  David Mitra May 18 '13 at 15:45

2 Answers 2

up vote 6 down vote accepted

Calculators either use the Taylor Series for $\sin / \cos$ or the CORDIC algorithm. A lot of information is available on Taylor Series, so I'll explain CORDIC instead.

The input required is a number in radians $\theta$, which is between $-\pi / 2$ and $\pi / 2$ (from this, we can get all of the other angles).

First, we must create a table of $\arctan 2^{-k}$ for $k=0,1,2,\ldots, N-1$. This is usually precomputed using the Taylor Series and then included with the calculator. Let $t_i = \arctan 2^{-i}$.

Consider the point in the plane $(1, 0)$. Draw the unit circle. Now if we can somehow get the point to make an angle $\theta$ with the $x$-axis, then the $x$ coordinate is the $\cos \theta$ and the $y$-coordinate is the $\sin \theta$.

Now we need to somehow get the point to have angle $\theta$. Let's do that now.

Consider three sequences $\{ x_i, y_i, z_i \}$. $z_i$ will tell us which way to rotate the point (counter-clockwise or clockwise). $x_i$ and $y_i$ are the coordinates of the point after the $i$th rotation.

Let $z_0 = \theta$, $x_0 = 1/A_{40} \approx 0.607252935008881 $, $y_0 = 0$. $A_{40}$ is a constant, and we use $40$ because we have $40$ iterations, which will give us $10$ decimal digits of accuracy. This constant is also precomputed1.

Now let:

$$ z_{i+1} = z_i - d_i t_i $$ $$ x_{i+1} = x_i - y_i d_i 2^{-i} $$ $$ y_i = y_i + x_i d_i 2^{-i} $$ $$ d_i = \text{1 if } z_i \ge 0 \text{ and -1 otherwise}$$

From this, it can be shown that $x_N$ and $y_N$ eventually become $\cos \theta$ and $\sin \theta$, respectively.

1: $A_N = \prod_{i=0}^{N-1} \sqrt{1+2^{-2i}}$

share|improve this answer
    
And despite the algorithm that it uses, the triangle is the one in the unit circle of hypotenuse 1 right? –  themhz May 18 '13 at 16:10
2  
@themhz, yep. This is the basis for the CORDIC algorithm. So it does actually "make" a triangle in order to find these lengths out. –  George V. Williams May 18 '13 at 16:14

I always wondered about the same thing, till I attended my first calculus class.

As Julien rightly noted. It uses power series of $\sin x, \cos x$ etc, to only approximately calculate the value of angles(in radians) you put in. You can read more about it here. And power series of $\tan x, \sec x$ and $\text{cosec x}$ is given here.

share|improve this answer
    
I was just write about the power series of sin,cos etc.I also studied these series in lecture of limit –  iostream007 May 18 '13 at 15:39
    
@iostream007: I do not think that is necessary, the link here is enough. –  Inceptio May 18 '13 at 15:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.