http://jsxgraph.org/wiki/api.php?action=feedcontributions&user=Veillette&feedformat=atom
JSXGraph Wiki - User contributions [en]
2024-03-28T19:08:08Z
User contributions
MediaWiki 1.40.1
http://jsxgraph.org/wiki/index.php?title=Pendulum&diff=6186
Pendulum
2013-09-17T13:20:49Z
<p>Veillette: </p>
<hr />
<div>==Simple Pendulum with Damping==<br />
<br />
<jsxgraph width="800" height="600"><br />
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-9, 9, 9, -12], keepaspectratio: true, false: true, grid: true}),<br />
p1 = board.create('point', [0.0, 0.0], {visible:false, name: 'a', size: 3}),<br />
c1 = board.create('circle', [p1, [0,8]], {visible:false, name: 'circle', size: 3}),<br />
p2 = board.create('glider', [3,-4, c1], {visible: true, name: '', size: 3}),<br />
grr=board.create('functiongraph', [function(t){ return -10-2*Math.cos(t/2); },-10, 10],{strokeColor: "#cccccc"}),<br />
p3 = board.create('point', [<br />
function(){return 2*Math.atan2(p2.X(),-p2.Y())},<br />
function(){return -10-2*Math.cos(Math.atan2(p2.X(),-p2.Y()))}], <br />
{visible: true, name:'', size: 3}),<br />
line = board.create('line', [p1, p2], {visible:true, straightFirst: false,straightLast: false}),<br />
isInDragMode = false;<br />
<br />
var gg = board.create('slider',[[-6,6],[-3,6],[1,9.8,10]]); board.createElement('text',[-8,6,'gravity']);<br />
var cc = board.create('slider',[[3,6],[6,6],[0.1,0.5,1]]); board.createElement('text',[1,6,'damping']);<br />
<br />
function startAnimation(start_theta) {<br />
var c = cc.Value(), g = gg.Value(), l = 10;<br />
p2.moveAlong(function() {<br />
var f = function(t, x) {<br />
return [x[1], -c * x[1] - g / l * (Math.sin(x[0]))];<br />
},<br />
area = [0, 200],<br />
numberOfEvaluations = (area[1] - area[0]) * 100,<br />
data = JXG.Math.Numerics.rungeKutta('heun', [start_theta, 0], area, numberOfEvaluations, f),<br />
duration = 20 * 1e3;<br />
<br />
return function(t) {<br />
if (t >= duration)<br />
return NaN;<br />
angle2=-Math.PI/2+data[Math.floor(t / duration * numberOfEvaluations)][0];<br />
return [p1.X()+l*Math.cos(angle2),p1.Y()+l*Math.sin(angle2)];<br />
};<br />
}());<br />
}<br />
<br />
function hook() {<br />
if(!isInDragMode) {<br />
if(board.mode === board.BOARD_MODE_DRAG) {<br />
board.stopAllAnimation();<br />
isInDragMode = true;<br />
}<br />
}<br />
if(isInDragMode) {<br />
if(board.mode !== board.BOARD_MODE_DRAG) {<br />
isInDragMode = false;<br />
angle=Math.atan2(p2.Y()-p1.Y(),p2.X()-p1.X())+Math.PI*1/2;<br />
startAnimation(angle);<br />
}<br />
}<br />
}<br />
<br />
board.addHook(hook);<br />
startAnimation(-1.2);<br />
</jsxgraph><br />
<br />
===The JavaScript code===<br />
<br />
<source lang="javascript"><br />
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-9, 9, 9, -12], keepaspectratio: true, false: true, grid: true}),<br />
p1 = board.create('point', [0.0, 0.0], {visible:false, name: 'a', size: 3}),<br />
c1 = board.create('circle', [p1, [0,8]], {visible:false, name: 'circle', size: 3}),<br />
p2 = board.create('glider', [3,-4, c1], {visible: true, name: '', size: 3}),<br />
grr=board.create('functiongraph', [function(t){ return -10-2*Math.cos(t/2); },-10, 10],{strokeColor: "#cccccc"}),<br />
p3 = board.create('point', [<br />
function(){return 2*Math.atan2(p2.X(),-p2.Y())},<br />
function(){return -10-2*Math.cos(Math.atan2(p2.X(),-p2.Y()))}], <br />
{visible: true, name:'', size: 3}),<br />
line = board.create('line', [p1, p2], {visible:true, straightFirst: false,straightLast: false}),<br />
isInDragMode = false;<br />
<br />
var gg = board.create('slider',[[-6,6],[-3,6],[1,9.8,10]]); board.createElement('text',[-8,6,'gravity']);<br />
var cc = board.create('slider',[[3,6],[6,6],[0.1,0.5,1]]); board.createElement('text',[1,6,'damping']);<br />
<br />
function startAnimation(start_theta) {<br />
var c = cc.Value(), g = gg.Value(), l = 10;<br />
p2.moveAlong(function() {<br />
var f = function(t, x) {<br />
return [x[1], -c * x[1] - g / l * (Math.sin(x[0]))];<br />
},<br />
area = [0, 200],<br />
numberOfEvaluations = (area[1] - area[0]) * 100,<br />
data = JXG.Math.Numerics.rungeKutta('heun', [start_theta, 0], area, numberOfEvaluations, f),<br />
duration = 20 * 1e3;<br />
<br />
return function(t) {<br />
if (t >= duration)<br />
return NaN;<br />
angle2=-Math.PI/2+data[Math.floor(t / duration * numberOfEvaluations)][0];<br />
return [p1.X()+l*Math.cos(angle2),p1.Y()+l*Math.sin(angle2)];<br />
};<br />
}());<br />
}<br />
<br />
function hook() {<br />
if(!isInDragMode) {<br />
if(board.mode === board.BOARD_MODE_DRAG) {<br />
board.stopAllAnimation();<br />
isInDragMode = true;<br />
}<br />
}<br />
if(isInDragMode) {<br />
if(board.mode !== board.BOARD_MODE_DRAG) {<br />
isInDragMode = false;<br />
angle=Math.atan2(p2.Y()-p1.Y(),p2.X()-p1.X())+Math.PI*1/2;<br />
startAnimation(angle);<br />
}<br />
}<br />
}<br />
<br />
board.addHook(hook);<br />
startAnimation(-1.2);<br />
</source><br />
[[Category:Examples]]<br />
[[Category:Calculus]]</div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6185
Unit circle
2013-09-17T13:14:30Z
<p>Veillette: </p>
<hr />
<div><html><br />
<h2>Unit Circle</h2><br />
</html><br />
<jsxgraph width="500" height="500" box="box"><br />
<br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
<br />
var theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
</jsxgraph><br />
<br />
=== The underlying JavaScript code ===<br />
<source lang="javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
<br />
var theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
</source></div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6184
Unit circle
2013-09-17T13:04:19Z
<p>Veillette: </p>
<hr />
<div><html><br />
<h2>Unit Circle</h2><br />
</html><br />
<jsxgraph width="500" height="500" box="box"><br />
<br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
</jsxgraph><br />
<br />
=== The underlying JavaScript code ===<br />
<source lang="javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
</source></div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6179
Unit circle
2013-09-12T19:51:33Z
<p>Veillette: </p>
<hr />
<div><br />
<br />
<br />
<link rel="stylesheet" type="text/css" href="css/jsxgraph.css" /><br />
<script type="text/javascript" src="js/jsxgraphcore.js"></script><br />
</head><br />
<br />
<br />
<html><br />
<br />
<body id="graphing"><br />
<br />
<div id="main"><br />
<header><div id="logo"><br />
<div id="logo_text"><br />
<!-- class="logo_color", allows you to change the colour of the text --><br />
<h1><a href="index.html"><span class="logo_color">PHY-225</span></a></h1><br />
<h2>Mathematical Methods in Physics</h2><br />
</div><br />
</div><br />
<nav><div id="menu_container"><br />
<ul class="myv_menu" id="nav"><br />
<li><a href="index.html">Home</a></li><br />
<li ><a href="textbook.html">Textbook</a></li><br />
<li><a href="homework.html">Homework</a></li><br />
<!-- <li><a href="mathematica.html">Mathematica</a></li> --><br />
<br />
<li class="menu_active"> <a href="examples.html">Examples</a><br />
<br />
</li><br />
<br />
</ul><br />
</div><br />
</nav></header><div id="site_content"><br />
<br />
<div id="content"><br />
<h1>Unit Circle</h1><br />
<br />
<br />
<br />
<DIV ALIGN=CENTER><br />
<br />
<br />
<div id="box" class="jxgbox" style="width:800px; height:800px;"></div><br />
<script type="text/javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
<br />
</script><br />
</body></div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6178
Unit circle
2013-09-12T19:50:31Z
<p>Veillette: </p>
<hr />
<div><br />
<html><br />
<form><br />
<input type="button" value="start" onclick="rol.start()"><br />
<input type="button" value="stop" onclick="rol.stop()"><br />
<input type="button" value="one step" onclick="rol.rolling()"><br />
</form></html><br />
<br />
<jsxgraph width="600" height="300" box="jxgbox"><br />
var b = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-1,5,20,-1], keepaspectratio:true});<br />
brd.suspendUpdate();<br />
<br />
<div id="box" class="jxgbox" style="width:800px; height:800px;"></div><br />
<script type="text/javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
<br />
</script><br />
[/nowiki]</div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6177
Unit circle
2013-09-12T19:50:17Z
<p>Veillette: </p>
<hr />
<div><nowiki><br />
<br />
<html><br />
<form><br />
<input type="button" value="start" onclick="rol.start()"><br />
<input type="button" value="stop" onclick="rol.stop()"><br />
<input type="button" value="one step" onclick="rol.rolling()"><br />
</form></html><br />
<br />
<jsxgraph width="600" height="300" box="jxgbox"><br />
var b = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-1,5,20,-1], keepaspectratio:true});<br />
brd.suspendUpdate();<br />
<br />
<div id="box" class="jxgbox" style="width:800px; height:800px;"></div><br />
<script type="text/javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
<br />
</script><br />
[/nowiki]</div>
Veillette
http://jsxgraph.org/wiki/index.php?title=Unit_circle&diff=6176
Unit circle
2013-09-12T19:46:43Z
<p>Veillette: Created page with " <div id="box" class="jxgbox" style="width:800px; height:800px;"></div> <script type="text/javascript"> var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5]..."</p>
<hr />
<div><br />
<div id="box" class="jxgbox" style="width:800px; height:800px;"></div><br />
<script type="text/javascript"><br />
var b = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5],axis:true});<br />
var p1 = b.createElement('point',[0,0], {name:'0',size: 4, face: 'o',fixed:true});<br />
var p2 = b.createElement('point',[1,0], {name:'10',size: 4, face: 'o',visible:false,fixed:true});<br />
var p3 = b.createElement('point',[0,1], {name:'01',size: 4, face: 'o',visible:false,fixed:true});<br />
var p4 = b.createElement('point',[1,1], {name:'11',size: 4, face: 'o',visible:false,fixed:true});<br />
<br />
var ci = b.createElement('circle',["0","10"], {strokeColor:'blue',strokeWidth:2});<br />
var p5 = b.createElement('glider',[0.71,0.71,ci], {name:'A',size: 4, face: 'o'});<br />
<br />
var angletheta = Math.atan2(p5.Y(),p5.X());<br />
var thetadegree = Math.atan2(p5.Y(),p5.X())*180/3.1415;<br />
<br />
function thetadegree2(pointa) {<br />
return ((Math.atan2(pointa.Y(),pointa.X())*180/3.1415).ToFixed(1));<br />
}<br />
<br />
theta = b.create('angle', ['10','0','A'],{name:'&theta;',type:'sector', orthoType:'square', orthoSensitivity:2, radius:0.5});<br />
<br />
var li1 = b.create('line',["10","11"], {strokeColor:'blue',strokeWidth:2,fixed:true});<br />
var li2 = b.create('line',["01","11"], {strokeColor:'blue',strokeWidth:2});<br />
var li3 = b.create('line',["0","A"], {straightFirst:false,straightLast:false,strokeColor:'blue',strokeWidth:2});<br />
<br />
<br />
var p6 = b.createElement('point',[ 0, function(){ return p5.Y(); }], {name:'sin',size: 4, face: 'o',visible:false});<br />
var p7 = b.createElement('point',[ function(){ return p5.X(); },0], {name:'cos',size: 4, face: 'o',visible:false});<br />
var p8 = b.createElement('point',[ function(){ return 1/Math.tan(Math.atan2(p5.Y(),p5.X()));},1], {name:'cot',size: 4, face: 'o',visible:false});<br />
<br />
var p9 = b.createElement('point',[ 1, function(){ return Math.tan(Math.atan2(p5.Y(),p5.X()));}], {name:'tan',size: 4, face: 'o',visible:false});<br />
<br />
var cos = b.create('text',[function(){return p6.X();},function(){ return p6.Y()/2;},"sin"],{anchorX:'right'});<br />
var sin = b.create('text',[function(){return p7.X()/2;},function(){ return p7.Y();},"cos"],{anchorY:'top'});<br />
<br />
var cot = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y();},"cot"],{anchorY:'bottom'});<br />
var tan = b.create('text',[function(){return p9.X();},function(){ return p9.Y()/2;},"tan"],{anchorX:'left'});<br />
<br />
<br />
var csc = b.create('text',[function(){return p8.X()/2;},function(){ return p8.Y()/2;},"csc"],{anchorY:'top'});<br />
var sec = b.create('text',[function(){return p9.X()/2;},function(){ return p9.Y()/2;},"sec"],{anchorX:'left'});<br />
<br />
<br />
<br />
var li4 = b.create('line',["0",p6], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'green',strokeWidth:2});<br />
var li5 = b.create('line',["0",p7], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'brown',strokeWidth:2});<br />
var li6 = b.create('line',["0",p8], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'purple',strokeWidth:2});<br />
var li7 = b.create('line',["0",p9], {straightFirst:false,straightLast:false,lastarrow:true,strokeColor:'yellow',strokeWidth:2});<br />
<br />
<br />
var li8 = b.create('line',["01",p8], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'pink',strokeWidth:2});<br />
var li9 = b.create('line',["10",p9], {straightFirst:false,lastarrow:true,straightLast:false,strokeColor:'#00ff00',strokeWidth:2});<br />
var li10 = b.create('line',[p5,p6], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
var li11 = b.create('line',[p5,p7], {straightFirst:false,dash:2,straightLast:false,strokeColor:'grey',strokeWidth:2});<br />
<br />
var costext=b.create('text', [-1.0, -0.8, function(){return "cos("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sintext=b.create('text', [-1.0, -0.9, function(){return "sin("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p5.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var tantext=b.create('text', [-1.0, -1.0, function(){return "tan("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p9.Y().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var cottext=b.create('text', [-1.0, -1.1, function(){return "cot("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+p8.X().toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var sectext=b.create('text', [-1.0, -1.2, function(){return "sec("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.cos( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
var csctext=b.create('text', [-1.0, -1.3, function(){return "csc("+(Math.atan2(p5.Y(),p5.X())*180/Math.PI).toFixed(1)+")="+(1/Math.sin( Math.atan2(p5.Y(),p5.X()))).toFixed(3);}], {anchorX:'middle', cssClass:'mytext'});<br />
<br />
<br />
</script></div>
Veillette