Difference between revisions of "Tschirnhausen Cubic Catacaustic"

From JSXGraph Wiki
Jump to navigationJump to search
Line 29: Line 29:
 
                 [function(t){ return a.Value()*6*(t*t-1);},
 
                 [function(t){ return a.Value()*6*(t*t-1);},
 
                   function(t){ return a.Value()*4*t*t*t;},
 
                   function(t){ return a.Value()*4*t*t*t;},
                 -2, 2
+
                 -4, 4
 
                 ],
 
                 ],
 
                 {strokeWidth:1, strokeColor:'red'});
 
                 {strokeWidth:1, strokeColor:'red'});
Line 56: Line 56:
 
                 [function(t){ return a.Value()*6*(t*t-1);},
 
                 [function(t){ return a.Value()*6*(t*t-1);},
 
                   function(t){ return a.Value()*4*t*t*t;},
 
                   function(t){ return a.Value()*4*t*t*t;},
                 -2, 2
+
                 -4, 4
 
                 ],
 
                 ],
 
                 {strokeWidth:1, strokeColor:'red'});
 
                 {strokeWidth:1, strokeColor:'red'});

Revision as of 12:06, 13 January 2011

The Tschirnhausen cubic is defined parametrically as

[math] x = a3(t^2-3) [/math]
[math] y = at(t^2-3) [/math]

Its catcaustic with radiant point [math](-8a,p)[/math] is the semicubical parabola with parametric equations

[math] x = a6(t^2-1) [/math]
[math] 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();