102 - Topic 03 - Radian Measure with sine and cosine graphs

62 days ago by Professor102

John Travis

Mississippi College

Radian measure relates the measure of an angle in standard position to the length of the arc created by that angle on a unit circle. 

For a given angle $\theta$ in radians, since the radius for the unit circle is $1$, then

$\sin(\theta)=y$

and

$\cos(\theta)=x$.

In the following interactive experiment, one can approximate the values of $\sin(\theta)$ and $\cos(\theta)$ for any given angle $\theta$ by finding the point of intersection with the unit circle. 

Below, enter the desired angle in radians.  Use the resulting coordinates (shown in the experiment) for the sine and cosine.

Plotting $x = \sin(s)$ and $y = \cos(s)$ is done by seting $\alpha = s$.  The graphic illustrated the relationship between this radian measure angle $\alpha$ with the arclength $s$

%hide %auto # trig functions using endpoint of unit circle arc # also, creating the graph y=sin(x) using definition # angle in radians s,t = var('s,t') @interact(layout=dict(top=[['rad'],['Graph']])) def _(rad=slider(-10,10,1/10,1,label='$$\\alpha = $$'), Graph=['none','sine','cosine'],auto_update=True): x0 = cos(rad) y0 = sin(rad) G = circle((0,0),1,color='blue',alpha=0.2) G += line([(0,0),(x0,y0)]) do_f = True if Graph=='sine': f = sin elif Graph=='cosine': f = cos else: do_f = False if do_f: H = plot(f(s),(s,-10,10),color='blue',alpha=0.2,ymin=-1,ymax=1) # Now, draw the "angle" as an increasing spiral if rad>0: G += parametric_plot(((t/60+1/10)*cos(t), (t/60+1/10)*sin(t)), (t, 0, rad), color='blue') G += parametric_plot((cos(t),sin(t)),(t,0,rad),color='red',thickness=5) if do_f: H += plot(f(s),(t,0,rad),color='red',thickness=5) else: G += parametric_plot(((abs(t)/60+1/10)*cos(t), (abs(t)/60+1/10)*sin(t)), (t, rad, 0), color='blue') G += parametric_plot((cos(t),sin(t)),(t,rad,0),color='red',thickness=5) if do_f: H += plot(f(s),(s,rad,0),color='red',thickness=5) pretty_print(html('$ ( \cos(\\theta),\sin(\\theta) ) = $'+' ( %s'%str(x0.n(digits=4))+', %s'%str(y0.n(digits=4))+' )')) if do_f: G.show() H.show() else: G.show() 
       
$$\alpha = $$ 
Graph 

Click to the left again to hide and once more to show the dynamic interactive window

s,t = var('s,t') @interact def _(rad=slider(0.3,1.3,0.05,1,label='$\\alpha = $'),grid = checkbox(default=False)): x0 = cos(rad) y0 = sin(rad) t0 = tan(rad) cot0 = 1/t0 G = point( (x0,y0), color='red',size=30,zorder=3)+circle((0,0),1,color='blue',alpha=0.2,ymin=0,xmin=0) G += line([(x0,0),(x0,y0)],thickness=2,color='black')+line([(0,0),(0,y0)],thickness=2,color='black') G += text('sin',(-0.04,y0/2),rotation=90)+text('sin',(x0+0.04,y0/2),rotation=90) G += line([(0,y0),(x0,y0)],thickness=2,color='black')+line([(0,0),(x0,0)],thickness=2,color='black') G += text('cos',(x0/2,y0+0.04))+text('cos',(x0/2,-0.04)) if t0>cot0: G += line([(0,0),(1,t0)],thickness=6,color='lightgray',zorder=0.5) else: G += line([(0,0),(cot0,1)],thickness=6,color='lightgray',zorder=0.5) G += line([(0,0.01),(1,t0+0.01)],color='blue')+text('sec',(0.96,t0+0.02),color='blue',horizontal_alignment='right') G += line([(0,-0.01),(cot0,0.99)],color='purple')+text('csc',(cot0-0.02,0.96),color='purple',horizontal_alignment='left') G += line([(1,0),(1,t0)],color='green')+text('tan',(1.1,t0/2)) G += line([(0,1),(cot0,1)],color='orange')+text('cot',(cot0/2,1.1)) G += parametric_plot(((abs(t)/60+1/10)*cos(t), (abs(t)/60+1/10)*sin(t)), (t, rad, 0), color='blue') G += parametric_plot((cos(t),sin(t)),(t,rad,0),color='red',thickness=5) gridmarks = [.1,.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2] n=20 g = [k/n for k in range(n)] if grid: G.show(gridlines=[g,g]) else: G.show() 
       

Click to the left again to hide and once more to show the dynamic interactive window

Let's now create an animation...

s,t = var('s,t') GraphAnim = [] num = 500 for j in range(num): rad = j/num+0.3 A = "Angle (in radians) = %4.3f"%(rad) x0 = cos(rad) y0 = sin(rad) t0 = tan(rad) cot0 = 1/t0 G = point( (x0,y0), color='red',size=30,zorder=3)+circle((0,0),1,color='blue',alpha=0.2,ymin=0,xmin=0,title=A) G += line([(x0,0),(x0,y0)],thickness=2,color='black')+line([(0,0),(0,y0)],thickness=2,color='black') G += text('sin',(x0+0.04,y0/2),rotation=90) # G += text('sin',(-0.04,y0/2),rotation=90)+text('sin',(x0+0.04,y0/2),rotation=90) G += line([(0,y0),(x0,y0)],thickness=2,color='black')+line([(0,0),(x0,0)],thickness=2,color='black') G += text('cos',(x0/2,y0+0.04)) # G += text('cos',(x0/2,y0+0.04))+text('cos',(x0/2,-0.04)) if t0>cot0: G += line([(0,0),(1,t0)],thickness=6,color='lightgray',zorder=0.5) else: G += line([(0,0),(cot0,1)],thickness=6,color='lightgray',zorder=0.5) G += line([(0,0.01),(1,t0+0.01)],color='blue')+text('sec',(0.96,t0+0.02),color='blue',horizontal_alignment='right') G += line([(0,-0.01),(cot0,0.99)],color='purple')+text('csc',(cot0-0.02,0.96),color='purple',horizontal_alignment='left') G += line([(1,0),(1,t0)],color='green')+text('tan',(1.1,t0/2)) G += line([(0,1),(cot0,1)],color='orange')+text('cot',(cot0/2,1.1)) G += parametric_plot(((abs(t)/60+1/10)*cos(t), (abs(t)/60+1/10)*sin(t)), (t, rad, 0), color='blue') G += parametric_plot((cos(t),sin(t)),(t,rad,0),color='red',thickness=5) GraphAnim.append(G) animate(GraphAnim).show(delay=3000/num, iterations=0) 
       

 

The next two animations illustrate the relationship between the position of the ordered pair $(x,y)$ on a unit circle with a corresponding point on the graph of the sine and cosine curves respectively.

In particular, the y-coordinate on the unit circle relates to the y-value of the sine function.

$y = \sin(t)$

and the x-coordinate on the unit circle relates to the y-value of the cosine function.

$x = \cos(t)$

The calculation of this animation make take a little while so be patient.  When the green bar to the left below is showing, the calculations are still being performed.

%hide # looping animation creating the sine curve # angle in radians t = var('t') GraphA = [] for r in range(1,126): rad = real(r/10) x0 = -1+cos(rad) y0 = sin(rad) G = circle((-1,0),1.0,color='blue',alpha=0.5)+line([(-1,0),(x0,y0)],figsize=(10,4),axes=false) G += plot(sin(t),(t,0,6.2),color='blue',alpha=0.2,ymin=-1,ymax=1) if rad<2*pi: G += parametric_plot((-1+cos(t),sin(t)),(t,0,rad),color='red',thickness=3) else: G += parametric_plot((-1+cos(t),sin(t)),(t,0,2*pi),color='red',thickness=3) G += parametric_plot((-1+cos(t),sin(t)),(t,2*pi,rad),color='orange',thickness=3) G += plot(sin(t),(t,0,rad),color='blue',thickness=3) G += arrow( (-1+cos(rad),sin(rad)), (rad,sin(rad)) , color='yellow') GraphA.append(G) animate(GraphA).show() html('Graph comparing vertical-coordinate of point $(x,y)$ on unit circle with $y = sin(t)$') 
       
Graph comparing vertical-coordinate of point (x,y) on unit circle with y = sin(t)
                                
                            
Graph comparing vertical-coordinate of point (x,y) on unit circle with y = sin(t)
                                
%hide # looping animation creating the cosine curve # angle in radians t = var('t') GraphA = [] for r in range(1,126): rad = real(r/10) x0 = cos(rad) y0 = 1+sin(rad) G = circle((0,1),1.0,color='blue',alpha=0.5)+line([(0,1),(x0,y0)],xmin=-1,xmax=1,axes=false,figsize=(4,10)) G += parametric_plot((cos(t),-t),(t,0,6.2),color='blue',alpha=0.2) if rad<2*pi: G += parametric_plot((cos(t),1+sin(t)),(t,0,rad),color='red',thickness=3) else: G += parametric_plot((cos(t),1+sin(t)),(t,0,2*pi),color='red',thickness=3) G += parametric_plot((cos(t),1+sin(t)),(t,2*pi,rad),color='orange',thickness=3) G += parametric_plot((cos(t),-t),(t,0,rad),color='blue',thickness=3) G += arrow( (cos(rad),1+sin(rad)), (cos(rad),-rad) , color='yellow') GraphA.append(G) animate(GraphA).show() html('Graph comparing horizontal-coordinate of point $(x,y)$ on unit circle with $x = cos(t)$') 
       
Graph comparing horizontal-coordinate of point (x,y) on unit circle with x = cos(t)
                                
                            
Graph comparing horizontal-coordinate of point (x,y) on unit circle with x = cos(t)