Spirograph - geometric construction: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
Line 10: Line 10:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1, A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
Line 32: Line 32:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1,A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
Line 56: Line 56:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1,A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('mirrorelement',[g1a,B],{name:'C_2', fillColor:'blue', strokeColor:'blue'});
var C2 = brd.create('reflection',[B, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
Line 81: Line 81:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1,A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('mirrorelement',[g1a,B],{name:'C_2', fillColor:'blue', strokeColor:'blue'});
var C2 = brd.create('reflection',[B, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
Line 108: Line 108:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1,A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A,g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('mirrorelement',[g1a,A],{name:'C_2', fillColor:'blue', strokeColor:'blue'});
var C2 = brd.create('reflection',[A, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
Line 133: Line 133:
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('mirrorelement',[g1,A],{name:'C', fillColor:'blue', strokeColor:'blue'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});


var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('mirrorelement',[g1a,A],{name:'C_2', fillColor:'blue', strokeColor:'blue'});
var C2 = brd.create('reflection',[A, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});


var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});

Latest revision as of 14:08, 14 December 2020

Double speed

The speed of [math]\displaystyle{ C }[/math] is twice the speed of [math]\displaystyle{ B }[/math].

The JavaScript code

(function() {
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5], keepaspectratio:true});

var O = brd.create('point',[0,0],{name:'O',fixed:true, fillColor:'blue', strokeColor:'blue'});
var A = brd.create('point',[2,0],{name:'A'});
var k = brd.create('circle',[O,A],{name:'k'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});

var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var k2 = brd.create('circle',[M,B],{name:'k'});  

var gpar = brd.create('parallel',[O,C,M], {name:"g", strokeColor:'lightgray'});
var Cprime = brd.create('intersection',[gpar,k2,0], {name:"C'", fillColor:'blue', strokeColor:'blue'});

var g2 = brd.create('line',[M,Cprime], {strokeColor:'lightgray'});
var Cstern = brd.create('glider',[1,1,g2], {name:"C*", trace:true, fillColor:'green', strokeColor:'green'});
})();

Threefold speed

The speed of [math]\displaystyle{ C_2 }[/math] is three times the speed of [math]\displaystyle{ B }[/math].

The JavaScript code

(function() {
var brd = JXG.JSXGraph.initBoard('jxgbox2',{boundingbox:[-5,5,5,-5], keepaspectratio:true});

var O = brd.create('point',[0,0],{name:'O',fixed:true, fillColor:'blue', strokeColor:'blue'});
var A = brd.create('point',[2,0],{name:'A'});
var k = brd.create('circle',[O,A],{name:'k'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});

var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('reflection',[B, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});

var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var k2 = brd.create('circle',[M,B],{name:'k'});  

var gpar = brd.create('parallel',[O,C2,M], {name:"g", strokeColor:'lightgray'});
var Cprime = brd.create('intersection',[gpar,k2,0], {name:"C'", fillColor:'blue', strokeColor:'blue'});

var g2 = brd.create('line',[M,Cprime], {strokeColor:'lightgray'});
var Cstern = brd.create('glider',[1,1,g2], {name:"C*", trace:true, fillColor:'green', strokeColor:'green'});
})();

Fourfold speed

The speed of [math]\displaystyle{ C_2 }[/math] is four times the speed of [math]\displaystyle{ B }[/math].

The JavaScript code

(function() {
var brd = JXG.JSXGraph.initBoard('jxgbox3',{boundingbox:[-5,5,5,-5], keepaspectratio:true});

var O = brd.create('point',[0,0],{name:'O',fixed:true, fillColor:'blue', strokeColor:'blue'});
var A = brd.create('point',[2,0],{name:'A'});
var k = brd.create('circle',[O,A],{name:'k'});
var B = brd.create('glider',[0.7,1,k],{name:'B drag me'});
var g1 = brd.create('line',[O,B], {strokeColor:'lightgray'});
var C = brd.create('reflection',[A, g1],{name:'C', fillColor:'blue', strokeColor:'blue'});

var g1a = brd.create('line',[O,C], {strokeColor:'lightgray'});
var C2 = brd.create('reflection',[A, g1a],{name:'C_2', fillColor:'blue', strokeColor:'blue'});

var M = brd.create('glider',[2,2,g1], {name:'M', fillColor:'red', strokeColor:'red'});
var k2 = brd.create('circle',[M,B],{name:'k'});  

var gpar = brd.create('parallel',[O,C2,M], {name:"g", strokeColor:'lightgray'});
var Cprime = brd.create('intersection',[gpar,k2,0], {name:"C'", fillColor:'blue', strokeColor:'blue'});

var g2 = brd.create('line',[M,Cprime], {strokeColor:'lightgray'});
var Cstern = brd.create('glider',[3,3,g2], {name:"C*", trace:true, fillColor:'green', strokeColor:'green'});
})();

Literatur

  • W. Neidhardt, Ch. Wurm: Arbeitsbuch THALES, Geometrie mit dem Computer, Dümmler-Verlag 1997. ISBN 3-427-45511-4