Circumference of a Circle, an Approximation of PI, Radian Measure
Author: Irina Boyadzhiev

This applet can be used to study the circumference of a circle, to introduce pi, to introduce radian measure and the length of an arc. 
Imagine that the circle below is wrapped in tape. By rolling the circle along the number line the tape that touches the number line will transfer to it.
Drag the light blue point D on the y-axis to change the diameter of the circle.
Drag the neon green point O to roll the circle on the x-axis.
Drag the point on the slider to fit the diameter into the length of the circle. 
Show the angle of rotation to study radian measure.  Roll the circle on an angle 1 rad. What is the length of the arc corresponding to this rotation (the red segment on the x-axis)?

T

T' 

Show the angle of rotation

O 

Radius

Diameter

Circumference

Ratio

Drag to fit the diameter in the circumference

A = (0, 0)
pos = Ray((0, 0), (0, 1))
D = Point(pos)
d_1 = Segment(A, D)
R: (0, y(D) / 2)
u = UnitVector(xAxis)
P_2: A - 1.2 * u
Q_2: R - 1.2 * u
d = Segment(P_2, Q_2)
r: y(D) / 2
C: R + d_1 * 3.141592653589793 * u
a = Segment(R, C)
O = Point(a)
c = Circle(O, r)
c_1 = Circle(O, r)
CC = Circumference(c_1)
T, B = Intersect(c, xAxis)
dist = Segment(A, T)
α: dist / r
T' = Rotate(T, -α, O)
g = 1 (slider from 1 to 4, step 0.05)
P: A - u * (y(D) / 2 + 0.2)
Q: D - u * (y(D) / 2 + 0.2)
b = Segment(P, Q)
M = Midpoint(P, Q)
u_1 = UnitVector(yAxis)
P_1: A - 0.6 * u_1
Q_1: T - 0.6 * u_1
b_1 = Segment(P_1, Q_1)
w_1 = Vector(Q_1, T)
M_1 = Midpoint(P_1, Q_1)
e = Vector(Q_2, R)
M_2 = Midpoint(d)
Q' = Translate(Q, Vector[2.4 * g * u])
P' = Translate(P, Vector[2.4 * g * u])
b' = Segment(P', Q')
A'_1 = Rotate(A, -3.141592653589793 * (g - 1), A)
D' = Rotate(D, -(3.141592653589793 / 2) * (g - 1), A)
f = Segment(A'_1, D')
f_1 = Segment(A, A + b * u)
A' = Rotate(A, -3.141592653589793 * (g - 2), A + b * u)
E = Rotate(A + b * u, -3.141592653589793 * (g - 2), A + b * u)
h = Segment(A', E)
f_2 = Segment(A + b * u, A + 2 * b * u)
F = Rotate(A + b * u, -3.141592653589793 * (g - 3), A + 2 * b * u)
G = Rotate(A + 2 * b * u, -3.141592653589793 * (g - 3), A + 2 * b * u)
f_3 = Segment(F, G)
i = Segment(T', O)
j = Segment(O, T)
color = Arc(c, T, T')
k = false
β = Angle(T', O, T)
quotient: dist / (2 * r)
text8: α + "rad"
b_11: b_1 - 1.0E-8
v_1 = Segment(P_1, A)
v = Segment(P, A)
z = Segment(P_2, A)
text1: "Radius\\
=" + (LaTeX[r]) + ""
text2: "Diameter
\\=" + (LaTeX[b]) + ""
l = false
text3: "Distance Around the Circle =" + b_11 + ""
w = Segment(Q, D)