var w,h,g,my={} function radianMain(mode){my.version='0.82';my.mode=typeof mode!=='undefined'?mode:'rad';my.mode=my.mode.replace(/[^a-z0-9]/gmi,'') console.log('radianMain') w=360;h=280;var s="";s+='
';s+='';s+='
';s+='
';s+=playHTML(40);s+='
';s+='
';s+='';s+='
';s+='
© 2019 MathsIsFun.com v'+my.version+'
';s+='
';document.write(s);var el=document.getElementById('canvasId');var ratio=2;el.width=w*ratio;el.height=h*ratio;el.style.width=w+"px";el.style.height=h+"px";g=el.getContext("2d");g.setTransform(ratio,0,0,ratio,0,0);my.midX=140;my.midY=140;my.scale=0.044;my.radius=110;my.frame=0;if(my.mode=='rad'){my.frameTot=300;} if(my.mode=='circ'){my.frameTot=360;} my.playQ=false;playToggle();} function winnewSvg(){var s='' s+='' s+='' s+='' s+='' s+='' s+='' return s} function winNew(){window.open(toLoc('../app26c7.html?folder=geometry&file=radian&p='+my.mode))} function toLoc(s){if(window.location.href.indexOf('localhost')>0)s='/mathsisfun'+s return s} function animate(){my.frame++;if(my.frame>my.frameTot){my.frame=0;playToggle();return;} if(my.mode=='rad')doFrameRad(my.frame);if(my.mode=='circ')doFrameCircle(my.frame);if(my.playQ) requestAnimationFrame(animate);} function doFrameRad(frame){if(frame<30){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawRadius();} if(frame>=30&&frame<130){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();doRadLine(frame-30);} if(frame>=130&&frame<230){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();doRadFold(frame-130);} if(frame>=230&&frame<300){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawSector(0,(frame-230)/70);g.strokeStyle='blue';g.lineWidth=2;g.beginPath();g.arc(my.midX,my.midY,my.radius,-1,0,false);g.stroke();if(frame>290){g.drawAngleFill(my.midX,my.midY,60,-1,1,'1 Radian');}}} function doFrameCircle(frame){if(frame<100){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawSector(0,(frame-0)/30);} if(frame>=100&&frame<150){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawSector(0,1);var angle=Math.min((frame-100)/30,1);drawSector(-angle,1);} if(frame>=150&&frame<200){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawSector(0,1);drawSector(-1,1);var angle=Math.min((frame-150)/30,1)+1;drawSector(-angle,1);} if(frame>=200&&frame<=251){g.clearRect(0,0,g.canvas.width,g.canvas.height) drawCirc();drawSector(0,1);drawSector(-1,1);drawSector(-2,1);var angle=Math.min((frame-200)/30,1)+2;var angRemain=Math.PI-angle;drawSector(-angle,1,angRemain);} g.fillStyle='goldenrod';if(frame>=0&&frame<130){drawRadText('1 Radian');g.drawAngle(my.midX,my.midY,60,-1,1,'');} if(frame>=130&&frame<180){drawRadText('2 Radians');g.drawAngle(my.midX,my.midY,60,-2,2,'');} if(frame>=180&&frame<230){drawRadText('3 Radians');g.drawAngle(my.midX,my.midY,60,-3,3,'');} if(frame>=230&&frame<300){drawRadText('3.1416... Radians');g.drawAngle(my.midX,my.midY,60,3.14,-3.14,'');} if(frame>300&&frame<350){drawRadText('3.1416... Radians
= π Radians');g.drawAngle(my.midX,my.midY,60,3.14,-3.14,'');} if(frame>=350){drawRadText('3.1416... Radians
= π Radians
= 180°');g.drawAngle(my.midX,my.midY,60,3.14,-3.14,'');}} function drawRadText(txt){document.getElementById('descr').innerHTML=txt;} function drawSector(sttAngle,alpha,angle){angle=typeof angle!=='undefined'?angle:1;alpha=Math.min(alpha,1);var xStt=my.radius*Math.cos(sttAngle);var yStt=my.radius*Math.sin(sttAngle);g.strokeStyle='rgba(0,0,255,'+alpha+')';g.fillStyle='rgba(255,255,0,'+alpha*0.07+')';g.lineWidth=2;g.beginPath();g.moveTo(my.midX,my.midY);g.lineTo(my.midX+xStt,my.midY+yStt);g.arc(my.midX,my.midY,my.radius,sttAngle,sttAngle-angle,true);g.closePath();g.fill();g.stroke();} function drawRadius(){g.strokeStyle='blue';g.lineWidth=2;g.moveTo(my.midX,my.midY);g.lineTo(my.midX+my.radius,my.midY);g.stroke();g.font="16px Arial";g.fillStyle="blue";g.textAlign='center';g.fillText('Radius',my.midX+my.radius/2,my.midY+20);} function drawCirc(){g.strokeStyle='skyblue';g.lineWidth=1;g.beginPath();g.arc(my.midX,my.midY,my.radius,0,2*Math.PI,true);g.stroke();g.beginPath();g.moveTo(my.midX,my.midY);g.lineTo(my.midX+my.radius,my.midY);g.stroke();} function doRadLine(frame){var rad=-Math.PI-frame/21;g.strokeStyle='blue';g.lineWidth=2;var xEnd=my.radius*Math.cos(rad);var yEnd=my.radius*Math.sin(rad);g.beginPath();g.moveTo(my.midX+my.radius,my.midY);g.lineTo(my.midX+my.radius+xEnd,my.midY+yEnd);g.stroke();} function doRadFold(frame){var rad=-frame/100;g.strokeStyle='blue';g.lineWidth=2;g.beginPath();g.arc(my.midX,my.midY,my.radius,0,rad,true);g.stroke();var xEnd=my.midX+my.radius*Math.cos(rad);var yEnd=my.midY+my.radius*Math.sin(rad);var lenRemain=my.radius*(1+rad);var lenX=lenRemain*Math.cos(rad-Math.PI/2);var lenY=lenRemain*Math.sin(rad-Math.PI/2);g.beginPath();g.moveTo(xEnd,yEnd);g.lineTo(xEnd+lenX,yEnd+lenY);g.stroke();} function Point(x,y){my.x=x;my.y=y;} Point.prototype.set=function(x,y){my.x=x;my.y=y;};CanvasRenderingContext2D.prototype.drawAngleFill=function(x,y,len,sttAngle,angle,angDescr){if(angle<0)angle+=2*Math.PI;var angDeg=Math.round(angle*180.0/Math.PI);var d=30;if(angDeg==90){g.drawBox(x,y,25,sttAngle+angle-Math.PI/2);}else{g.strokeStyle='#ff0000';if(angDeg>90){d=Math.max(20,30-(angDeg-90)/6);}else{} g.fillStyle="rgba(0, 0, 255, 0.3)";g.beginPath();g.moveTo(x,y);g.arc(x,y,d,sttAngle,sttAngle+angle,false);g.closePath();g.fill();} var aMid=sttAngle+(angle/2);var txtX=x+(d+15)*Math.cos(aMid)-0;var txtY=y+(d+15)*Math.sin(aMid)-0;g.font="16px Arial";g.fillStyle="blue";g.textAlign='left';g.fillText(angDescr,txtX-12,txtY+5);};CanvasRenderingContext2D.prototype.drawBox=function(midX,midY,radius,angle){g.beginPath();var pts=[[0,0],[Math.cos(angle),Math.sin(angle)],[Math.cos(angle)+Math.cos(angle+Math.PI/2),Math.sin(angle)+Math.sin(angle+Math.PI/2)],[Math.cos(angle+Math.PI/2),Math.sin(angle+Math.PI/2)],[0,0]];for(var i=0;i