# How does a calculator calculate the sine, cosine ,tangent using just a number?

Sine Θ = oposite/hypotenuse


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?

-
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
There is also the CORDIC algorithm –  David Mitra May 18 '13 at 15:45

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}}$

-
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
@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.

-
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