Rolling circle on line

From JSXGraph Wiki
Revision as of 14:53, 8 October 2010 by A WASSERMANN (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The underlying JavaScript code

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

// Line
var line = brd.create('curve', [function(t) { return t;}, function(t){ return 1;}], {strokeWidth:6});

// Circle
var P = brd.create('point',[0,1],{name:'P', trace:true});
var C = brd.create('point',[0,2],{name:'C'});
var circle = brd.create('curve',[
                    function(t){var d = P.Dist(C),
                                    beta = JXG.Math.Geometry.rad([C.X()+1,C.Y()],C,P);
                                t += beta;
                                return C.X()+d*Math.cos(t);
                    },
                    function(t){var d = P.Dist(C),
                                    beta = JXG.Math.Geometry.rad([C.X()+1,C.Y()],C,P);
                                t += beta;
                                return C.Y()+d*Math.sin(t);
                    },
                    0,2*Math.PI],
                    {strokeWidth:6, strokeColor:'green'});

// Point on circle
var B = brd.create('glider',[0,2,circle],{name:'B', color:'blue',trace:false});
brd.create('segment',[C,B],{color:'black'}); 
brd.unsuspendUpdate();
var rol = JXG.Math.Numerics.createRoulette(line, circle, 0, Math.PI/20, 1, 100, [C,P,B]);