Tschirnhausen Cubic Catacaustic: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 26: | Line 26: | ||
var radpoint = brd.create('point',[function(){ return -a.Value()*8;},0],{name:'radiant point'}); | var radpoint = brd.create('point',[function(){ return -a.Value()*8;},0],{name:'radiant point'}); | ||
var reflectionpoint = brd.create('glider',[-7,1,cubic],{name:'point of reflection', size:1}); | var reflectionpoint = brd.create('glider',[-7,1,cubic],{name:'point of reflection', size:1}); | ||
var infty = brd.create('point', | |||
[ | |||
function(){ return [1,1]; } | |||
],{name:'', visible:false}); | |||
var dir = brd.create('segment',[radpoint,reflectionpoint],{strokeWidth:1}); | var dir = brd.create('segment',[radpoint,reflectionpoint],{strokeWidth:1}); | ||
var reflection = brd.create('line', | var reflection = brd.create('line', | ||
[reflectionpoint, | [reflectionpoint,infty], | ||
{strokeWidth:1, straightFirst:false}); | {strokeWidth:1, straightFirst:false}); | ||
Revision as of 14:05, 13 January 2011
The Tschirnhausen cubic (black curve) is defined parametrically as
- [math]\displaystyle{ x = a3(t^2-3) }[/math]
- [math]\displaystyle{ y = at(t^2-3) }[/math]
Its catcaustic (red curve) with radiant point [math]\displaystyle{ (-8a,p) }[/math] is the semicubical parabola with parametric equations
- [math]\displaystyle{ x = a6(t^2-1) }[/math]
- [math]\displaystyle{ y = a4t^3 }[/math]
References
The underlying JavaScript code
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-10,10,10,-10], keepaspectratio:true, axis:true});
brd.suspendUpdate();
var a = brd.create('slider',[[-5,6],[5,6],[-5,1,5]], {name:'a'});
var cubic = brd.create('curve',
[function(t){ return a.Value()*3*(t*t-3);},
function(t){ return a.Value()*t*(t*t-3);},
-5, 5
],
{strokeWidth:1, strokeColor:'black'});
var radpoint = brd.create('point',[function(){ return -a.Value()*8;},0],{name:'radiant point'});
var cataustic = brd.create('curve',
[function(t){ return a.Value()*6*(t*t-1);},
function(t){ return a.Value()*4*t*t*t;},
-4, 4
],
{strokeWidth:1, strokeColor:'red'});
brd.unsuspendUpdate();