Difference between revisions of "Tschirnhausen Cubic Catacaustic"
From JSXGraph Wiki
Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
A WASSERMANN (talk | contribs) |
||
Line 29: | Line 29: | ||
[ | [ | ||
function(){ | function(){ | ||
− | var a = dir.stdform[1], b = dir.stdform[2], | + | //var a = dir.stdform[1], b = dir.stdform[2], |
+ | var a = reflectionpoint.X()-radpoint.X(), | ||
+ | b = reflectionpoint.Y()-radpoint.Y(), | ||
t = reflectionpoint.position, | t = reflectionpoint.position, | ||
u = JXG.Math.Numerics.D(cubic.X)(t), | u = JXG.Math.Numerics.D(cubic.X)(t), | ||
Line 44: | Line 46: | ||
{strokeWidth:1, straightFirst:false}); | {strokeWidth:1, straightFirst:false}); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
var cataustic = brd.create('curve', | var cataustic = brd.create('curve', | ||
[function(t){ return a.Value()*6*(t*t-1);}, | [function(t){ return a.Value()*6*(t*t-1);}, |
Revision as of 16:10, 13 January 2011
The Tschirnhausen cubic (black curve) is defined parametrically as
- [math] x = a3(t^2-3) [/math]
- [math] y = at(t^2-3) [/math]
Its catcaustic (red curve) 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();