Generating Sine and Cosine from the Circle
Author: Scott Farrar
Date: 26 November 2013

Drag point A around the circle, observe the plots of sine and cosine.

Also plot Cosine on the normal (non rotated) x,y axes.

2π

2π

0

0

For angle θ, in a circle of radius r,
sin(θ) = y / r
cos(θ) = x / r

y

x

r

In other words, you can think of cosine and sine 'keeping track'
of the x and y coordinates of a point at radius r, angle θ.
(Notice how this works on the graphs)

r

-r

-r

r

( r ·cos(θ) , r·sin(θ) )

Thus,
r * sin(θ) = y
r * cos(θ) = x

Clear Traces

O = Point(xAxis)
c = Circle(O, 1)
A = Point(c)
a = Segment(O, A)
C, D = Intersect(c, xAxis)
α = Angle(D, O, A)
E: (α, y(A))
b = Segment(A, E)
F = (0, 0)
G = (6.283185307179586, 0)
d = Segment(F, G)
e = OrthogonalLine(A, xAxis)
B = Intersect(e, xAxis)
f = Segment(A, B)
g = OrthogonalLine(E, xAxis)
H = Intersect(g, xAxis)
h = Segment(E, H)
I = Point(yAxis)
J = Point(yAxis)
i = Segment(I, J)
j = OrthogonalLine(O, xAxis)
K = Point(j)
k = Line(K, xAxis)
L = (-2, -8.283185307179586)
l = Segment(K, L)
M = (-1, -2)
N = (-3, -2)
m = Segment(N, M)
P: (x(A), -2 - α)
Q = Intersect(f, xAxis)
p = Segment(Q, O)
P' = Rotate(P, 90*°, O)
n = Segment(A, P)
o = false
q = OrthogonalLine(P, l)
R = Intersect(l, q)
r_1 = Segment(R, P)
S = (3, -5)
T = (5, -4)
s = Segment(S, T)
U = (5, -5)
t = Segment(S, U)
a_1 = Segment(U, T)
β = Angle(T, U, S)
θ = Angle(U, S, T)