Tschirnhausen Cubic Catacaustic: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 34: | Line 34: | ||
          },  |           },  | ||
          function(){  |           function(){  | ||
             var a = dir.stdform[1], b = dir.stdform[2],  | |||
                t = reflectionpoint.position,  | |||
                u = JXG.Math.Numerics(cubic.X)(t),   | |||
                v = JXG.Math.Numerics(cubic.Y)(t);  | |||
            return -v;  | |||
          },  |           },  | ||
          function(){  |           function(){  | ||
            var a = dir.stdform[1], b = dir.stdform[2],  | |||
                t = reflectionpoint.position,  | |||
                u = JXG.Math.Numerics(cubic.X)(t),   | |||
                v = JXG.Math.Numerics(cubic.Y)(t);  | |||
            return u;  | |||
          }  |           }  | ||
        ],{strokeWidth:1});  |         ],{strokeWidth:1});  | ||
Revision as of 13:47, 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();