Difference between revisions of "Poincare disc model"

From JSXGraph Wiki
Jump to navigationJump to search
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<jsxgraph width="600" height="600">
 
<jsxgraph width="600" height="600">
 
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5]});
 
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5]});
var c = brd.create('circle',[[0,0],3],{strokeColor:'black'});
+
var c = brd.create('circle',[[0,0],3],{strokeColor:'black', fixed:true}); // outer circle
 +
 
 +
var p = brd.create('point',[0,-4],{withLabel:false});
 +
var t = brd.create('polar', [c,p], {strokeColor:'gray', dash:2, visible:false});
 +
var s1 = brd.create('intersection', [c,t,0], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var s2 = brd.create('intersection', [c,t,1], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var arc = brd.create('arc',[p,s1,s2],{name:'g', withLabel:true});
 +
 
 +
var pp = brd.create('point',[1,2],{withLabel:true,name:'P'});
 +
var t = brd.create('polar', [c,pp], {visible:false});
 +
var l = brd.create('line', [[0,0],pp], {visible:false});
 +
var A = brd.create('intersection', [l,t,0], {withLabel:true,visible:false});
 +
var M = brd.create('midpoint',[pp,A], {withLabel:true,visible:false});
 +
var perp = brd.create('perpendicular', [l,M], {name:'', withLabel:false, strokeColor:'gray', dash:1, straightFirst:true, straightLast:true, point: {visible:true}});
 +
 
 +
var x = brd.create('glider',[3, 3, perp], {name:'drag me'});
 +
 
 +
var t2 = brd.create('polar', [c, x], {strokeColor:'gray', dash:2, visible:false});
 +
var ss1 = brd.create('intersection', [c,t2,0], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var ss2 = brd.create('intersection', [c,t2,1], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var arc = brd.create('circumcirclearc',[ss1,pp,ss2], {strokeWidth:1, trace:true, dash:3});
 +
</jsxgraph>
 +
===The JavaScript code===
 +
<source lang="javascript">
 +
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5]});
 +
var c = brd.create('circle',[[0,0],3],{strokeColor:'black', fixed:true});  // outer circle
 +
 
 
var p = brd.create('point',[0,-4],{withLabel:false});
 
var p = brd.create('point',[0,-4],{withLabel:false});
var t = brd.create('polar', [c,p], {strokeColor:'gray', dash:2});  
+
var t = brd.create('polar', [c,p], {strokeColor:'gray', dash:2, visible:false});  
var s1 = brd.create('intersection', [c,t,0], {withLabel:false});  
+
var s1 = brd.create('intersection', [c,t,0], {withLabel:false, strokeColor:'green', fillColor:'green'});  
var s2 = brd.create('intersection', [c,t,1], {withLabel:false});  
+
var s2 = brd.create('intersection', [c,t,1], {withLabel:false, strokeColor:'green', fillColor:'green'});  
var arc = brd.create('arc',[p,s1,s2]);
+
var arc = brd.create('arc',[p,s1,s2],{name:'g', withLabel:true});
  
var pp = brd.create('point',[1,2],{withLabel:false});
+
var pp = brd.create('point',[1,2],{withLabel:true,name:'P'});
 
var t = brd.create('polar', [c,pp], {visible:false});  
 
var t = brd.create('polar', [c,pp], {visible:false});  
 
var l = brd.create('line', [[0,0],pp], {visible:false});  
 
var l = brd.create('line', [[0,0],pp], {visible:false});  
 
var A = brd.create('intersection', [l,t,0], {withLabel:true,visible:false});
 
var A = brd.create('intersection', [l,t,0], {withLabel:true,visible:false});
 
var M = brd.create('midpoint',[pp,A], {withLabel:true,visible:false});
 
var M = brd.create('midpoint',[pp,A], {withLabel:true,visible:false});
var p0 = brd.create('perpendicularpoint',[l,M], {withLabel:true,visible:false});
+
var perp = brd.create('perpendicular', [l,M], {name:'', withLabel:false, strokeColor:'gray', dash:1, straightFirst:true, straightLast:true, point: {visible:true}});
var line = brd.create('line', [p0,M], {name:'', withLabel:false, strokeColor:'gray', dash:2});  
 
  
 +
var x = brd.create('glider',[3, 3, perp], {name:'drag me'});
  
var x = brd.create('glider',[3,3,line], {name:'drag me'});
+
var t2 = brd.create('polar', [c, x], {strokeColor:'gray', dash:2, visible:false});
 +
var ss1 = brd.create('intersection', [c,t2,0], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var ss2 = brd.create('intersection', [c,t2,1], {withLabel:false, strokeColor:'green', fillColor:'green'});
 +
var arc = brd.create('circumcirclearc',[ss1,pp,ss2], {strokeWidth:1, trace:true, dash:3});
 +
</source>
  
var t2 = brd.create('polar', [c,x], {strokeColor:'gray', dash:2});
+
===References===
var s1 = brd.create('intersection', [c,t2,0], {withLabel:false});
+
* Chaim Goodman-Strauss, "Compass and Straightedge in the Poincare Disk", ''Am. Math. Monthly'' 108 (2001), 38-49.
var s2 = brd.create('intersection', [c,t2,1], {withLabel:false});
+
[[Category:Geometry]]
var arc = brd.create('circumcirclearc',[s1,pp,s2]);
+
[[Category:Examples]]
</jsxgraph>
 

Latest revision as of 19:37, 17 January 2012

The JavaScript code

var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5]});
var c = brd.create('circle',[[0,0],3],{strokeColor:'black', fixed:true});  // outer circle

var p = brd.create('point',[0,-4],{withLabel:false});
var t = brd.create('polar', [c,p], {strokeColor:'gray', dash:2, visible:false}); 
var s1 = brd.create('intersection', [c,t,0], {withLabel:false, strokeColor:'green', fillColor:'green'}); 
var s2 = brd.create('intersection', [c,t,1], {withLabel:false, strokeColor:'green', fillColor:'green'}); 
var arc = brd.create('arc',[p,s1,s2],{name:'g', withLabel:true});

var pp = brd.create('point',[1,2],{withLabel:true,name:'P'});
var t = brd.create('polar', [c,pp], {visible:false}); 
var l = brd.create('line', [[0,0],pp], {visible:false}); 
var A = brd.create('intersection', [l,t,0], {withLabel:true,visible:false});
var M = brd.create('midpoint',[pp,A], {withLabel:true,visible:false});
var perp = brd.create('perpendicular', [l,M], {name:'', withLabel:false, strokeColor:'gray', dash:1, straightFirst:true, straightLast:true, point: {visible:true}});

var x = brd.create('glider',[3, 3, perp], {name:'drag me'});

var t2 = brd.create('polar', [c, x], {strokeColor:'gray', dash:2, visible:false}); 
var ss1 = brd.create('intersection', [c,t2,0], {withLabel:false, strokeColor:'green', fillColor:'green'}); 
var ss2 = brd.create('intersection', [c,t2,1], {withLabel:false, strokeColor:'green', fillColor:'green'}); 
var arc = brd.create('circumcirclearc',[ss1,pp,ss2], {strokeWidth:1, trace:true, dash:3});

References

  • Chaim Goodman-Strauss, "Compass and Straightedge in the Poincare Disk", Am. Math. Monthly 108 (2001), 38-49.