Reuleaux pentagon: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
<script type="text/javascript" src="/~alfred/jsxgraph/trunk/src/Roulette.js"></script> | <script type="text/javascript" src="/~alfred/jsxgraph/trunk/src/Roulette.js"></script> | ||
<form> | <form> | ||
<input type="button" value="start" onclick="rol.start(); rol3.start();"> | <input type="button" value="start" onclick="/*rol.start();*/ rol3.start();"> | ||
<input type="button" value="stop" onclick="rol.stop(); rol3.stop();"> | <input type="button" value="stop" onclick="/*rol.stop();*/ rol3.stop();"> | ||
<input type="button" value="one step" onclick="rol.rolling()"> | <input type="button" value="one step" onclick="rol.rolling()"> | ||
</form></html> | </form></html> | ||
Line 34: | Line 34: | ||
brd.unsuspendUpdate(); | brd.unsuspendUpdate(); | ||
var rol = JXG.Math.Numerics.createRoulette(reuleauxHeptagon, reuleauxPentagon, 6*Math.PI/5, Math.PI/90, -1, 10, [A,B])(); | //var rol = JXG.Math.Numerics.createRoulette(reuleauxHeptagon, reuleauxPentagon, 6*Math.PI/5, Math.PI/90, -1, 10, [A,B])(); | ||
var rol3 = JXG.Math.Numerics.createRoulette(reuleauxPentagon, reuleauxTriangle, 6*Math.PI/5, Math.PI/90, 1, 10, [C,D])(); | var rol3 = JXG.Math.Numerics.createRoulette(reuleauxPentagon, reuleauxTriangle, 6*Math.PI/5, Math.PI/90, 1, 10, [C,D])(); | ||
</jsxgraph> | </jsxgraph> | ||
Line 40: | Line 40: | ||
===The underlying JavaScript code=== | ===The underlying JavaScript code=== | ||
<source lang="javascript"> | <source lang="javascript"> | ||
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5, | var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,7,5,-3]}); | ||
brd.suspendUpdate(); | brd.suspendUpdate(); | ||
// Pentagon | // Pentagon | ||
var A = brd.create('point',[-2,-2]); | var A = brd.create('point',[-2,-2]); | ||
var B = brd.create('point',[2,-2]); | var B = brd.create('point',[2,-2]); | ||
var | var pol5 = brd.create('regularpolygon',[A,B,5], {withLines:false, fillColor:'none', highlightFillColor:'none', fillOpacity:0.0}); | ||
// Triangle | // Triangle | ||
var C = brd.create('point',[-2,-2]); | var C = brd.create('point',[-2,-2]); | ||
var D = brd.create('point',[C.X()+3/5*(1+Math.sqrt(5))*0.5*A.Dist(B), C.Y()]); | var D = brd.create('point',[C.X()+3/5*(1+Math.sqrt(5))*0.5*A.Dist(B), C.Y()]); | ||
var pol3 = brd.create('regularpolygon',[C,D,3], {withLines:false, fillColor:'#e8501f', highlightFillColor:'#e8501f'}); | var pol3 = brd.create('regularpolygon',[C,D,3], {withLines:false, fillColor:'#e8501f', highlightFillColor:'#e8501f', fillOpacity:0.0}); | ||
// Heptagon | |||
var E = brd.create('point',[-2,-2]); | |||
var F = brd.create('point',[E.X()+7/5*A.Dist(pol5.vertices[2]), E.Y()]); | |||
var pol7 = brd.create('regularpolygon',[E,F,7], {withLines:false, fillColor:'#e8501f', highlightFillColor:'#e8501f', fillOpacity:0.0}); | |||
var reuleauxHeptagon = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol7.vertices, 7), | |||
{color:'#e8501f', highlightFillColor:'#e8501f'}); | |||
var reuleauxPentagon = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol5.vertices, 5), | |||
{color:'#093083', highlightFillColor:'#093083'}); | |||
var reuleauxTriangle = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol3.vertices, 3), | var reuleauxTriangle = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol3.vertices, 3), | ||
{color:'#e8501f', highlightFillColor:'#e8501f'}); | {color:'#e8501f', highlightFillColor:'#e8501f'}); | ||
brd.unsuspendUpdate(); | |||
//var rol = JXG.Math.Numerics.createRoulette(reuleauxHeptagon, reuleauxPentagon, 6*Math.PI/5, Math.PI/90, -1, 10, [A,B])(); | |||
var | var rol3 = JXG.Math.Numerics.createRoulette(reuleauxPentagon, reuleauxTriangle, 6*Math.PI/5, Math.PI/90, 1, 10, [C,D])(); | ||
</source> | </source> | ||
Revision as of 21:07, 2 October 2010
The underlying JavaScript code
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,7,5,-3]});
brd.suspendUpdate();
// Pentagon
var A = brd.create('point',[-2,-2]);
var B = brd.create('point',[2,-2]);
var pol5 = brd.create('regularpolygon',[A,B,5], {withLines:false, fillColor:'none', highlightFillColor:'none', fillOpacity:0.0});
// Triangle
var C = brd.create('point',[-2,-2]);
var D = brd.create('point',[C.X()+3/5*(1+Math.sqrt(5))*0.5*A.Dist(B), C.Y()]);
var pol3 = brd.create('regularpolygon',[C,D,3], {withLines:false, fillColor:'#e8501f', highlightFillColor:'#e8501f', fillOpacity:0.0});
// Heptagon
var E = brd.create('point',[-2,-2]);
var F = brd.create('point',[E.X()+7/5*A.Dist(pol5.vertices[2]), E.Y()]);
var pol7 = brd.create('regularpolygon',[E,F,7], {withLines:false, fillColor:'#e8501f', highlightFillColor:'#e8501f', fillOpacity:0.0});
var reuleauxHeptagon = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol7.vertices, 7),
{color:'#e8501f', highlightFillColor:'#e8501f'});
var reuleauxPentagon = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol5.vertices, 5),
{color:'#093083', highlightFillColor:'#093083'});
var reuleauxTriangle = brd.create('curve', JXG.Math.Numerics.reuleauxPolygon(pol3.vertices, 3),
{color:'#e8501f', highlightFillColor:'#e8501f'});
brd.unsuspendUpdate();
//var rol = JXG.Math.Numerics.createRoulette(reuleauxHeptagon, reuleauxPentagon, 6*Math.PI/5, Math.PI/90, -1, 10, [A,B])();
var rol3 = JXG.Math.Numerics.createRoulette(reuleauxPentagon, reuleauxTriangle, 6*Math.PI/5, Math.PI/90, 1, 10, [C,D])();