Difference between revisions of "Watt curve"

From JSXGraph Wiki
Jump to navigationJump to search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
=Trace=
 
With JSXGraph elements can be traced to visualize construced loci.
 
With JSXGraph elements can be traced to visualize construced loci.
  
 
<html>
 
<html>
<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
 
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/prototype.js"></script>
 
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script>
 
 
<input type="button" value="Clear trace" onClick="clearTrace()" />
 
<input type="button" value="Clear trace" onClick="clearTrace()" />
<div id="jxgbox" class="jxgbox" style="width:600px; height:450px;"></div>
+
</html>
<script language="JavaScript">
+
 
board = JXG.JSXGraph.initBoard('jxgbox', {originX: 50, originY: 400, unitX: 25, unitY: 25, axis: false, grid: false});
+
<jsxgraph box="jxgbox" width="600" height="450">
xax = board.createElement('axis', [[0,0],[1,0]]);
+
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-2, 16, 22, -2], axis: true, grid: false});
yax = board.createElement('axis', [[0,0],[0,1]]);
+
p1 = board.create('point', [7, 8], {face:'x',size:4,name:"",fixed:true});
p1 = board.createElement('point', [7, 8], {style:2,name:"",fixed:true});
+
p2 = board.create('point', [15, 8], {face:'x',size:4,name:"",fixed:true});
p2 = board.createElement('point', [15, 8], {style:2,name:"",fixed:true});
+
c1 = board.create('circle', [p1, 4.5]);
c1 = board.createElement('circle', [p1, 4.5]);
+
c2 = board.create('circle', [p2, 4.5]);
c2 = board.createElement('circle', [p2, 4.5]);
+
g1 = board.create('glider', [0, 0, c1], {size:3,name:"Drag me"});
g1 = board.createElement('glider', [0, 0, c1], {style:5,name:"Drag me"});
+
c3 = board.create('circle', [g1, 8]);
c3 = board.createElement('circle', [g1, 8]);
+
g2 = board.create('intersection', [c2,c3,0], {size:3, name: ""});
g2 = board.createElement('point', [board.intersectionFunc(c2,c3,0)], {style:5, name: ""});
+
g3 = board.create('intersection', [c2,c3,1], {size:3, name: ""});
g3 = board.createElement('point', [board.intersectionFunc(c2,c3,1)], {style:5, name: ""});
+
m1 = board.create('midpoint', [g1,g2], {face:'[]',size:3,withLabel:false,trace:true});
m1 = board.createElement('midpoint', [g1,g2], {style:8,name:"",trace:true});
+
m2 = board.create('midpoint', [g1,g3], {face:'[]',size:3,withLabel:false,trace:true,strokeColor:'green'});
m2 = board.createElement('midpoint', [g1,g3], {style:8,name:"",trace:true,strokeColor:'green'});
 
  
 
function clearTrace() {
 
function clearTrace() {
Line 26: Line 23:
 
     m2.clearTrace();
 
     m2.clearTrace();
 
}
 
}
</script>
+
</jsxgraph>
</html>
 
  
 
==References==
 
==References==
Line 36: Line 32:
  
 
<source lang="javascript">
 
<source lang="javascript">
board = JXG.JSXGraph.initBoard('jxgbox', {originX: 50, originY: 400, unitX: 25, unitY: 25, axis: false, grid: false});
+
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-2, 16, 22, -2], axis: true, grid: false});
xax = board.createElement('axis', [[0,0],[1,0]]);
+
p1 = board.create('point', [7, 8], {face:'x',size:4,name:"",fixed:true});
yax = board.createElement('axis', [[0,0],[0,1]]);
+
p2 = board.create('point', [15, 8], {face:'x',size:4,name:"",fixed:true});
p1 = board.createElement('point', [7, 8], {style:2,name:"",fixed:true});
+
c1 = board.create('circle', [p1, 4.5]);
p2 = board.createElement('point', [15, 8], {style:2,name:"",fixed:true});
+
c2 = board.create('circle', [p2, 4.5]);
c1 = board.createElement('circle', [p1, 4.5]);
+
g1 = board.create('glider', [0, 0, c1], {size:3,name:"Drag me"});
c2 = board.createElement('circle', [p2, 4.5]);
+
c3 = board.create('circle', [g1, 8]);
g1 = board.createElement('glider', [0, 0, c1], {style:5,name:"Drag me"});
+
g2 = board.create('point', [board.intersectionFunc(c2,c3,0)], {size:3, name: ""});
c3 = board.createElement('circle', [g1, 8]);
+
g3 = board.create('point', [board.intersectionFunc(c2,c3,1)], {size:3, name: ""});
g2 = board.createElement('point', [board.intersectionFunc(c2,c3,0)], {style:5, name: ""});
+
m1 = board.create('midpoint', [g1,g2], {face:'[]',size:3,withLabel:false,trace:true});
g3 = board.createElement('point', [board.intersectionFunc(c2,c3,1)], {style:5, name: ""});
+
m2 = board.create('midpoint', [g1,g3], {face:'[]',size:3,withLabel:false,trace:true,strokeColor:'green'});
m1 = board.createElement('midpoint', [g1,g2], {style:8,name:"",trace:true});
 
m2 = board.createElement('midpoint', [g1,g3], {style:8,name:"",trace:true,strokeColor:'green'});
 
  
 
function clearTrace() {
 
function clearTrace() {
Line 54: Line 48:
 
     m2.clearTrace();
 
     m2.clearTrace();
 
}
 
}
 +
</source>
 +
 +
=Compute Locus Equation=
 +
One way to compute the locus equation of the traced points in the above construction is the Groebner-Basis-Method. Applying this method to the above construction we get this polynomial:
 +
 +
<math>16e^4s^2 - 96e^3s^3 + 208e^2s^4 - 192es^5 + 64s^6 + 16e^4t^2 - 96e^3st^2 + 288e^2s^2t^2 - 384es^3t^2 + 192s^4t^2 + 80e^2t^4 - 192est^4 + 192s^2t^4 + 64t^6 + 136e^3s - 680e^2s^2 + 1088es^3 - 544s^4 - 1432e^2t^2 + 1088est^2 - 1088s^2t^2 - 544t^4 + 289e^2 - 1156es + 1156s^2 + 1156t^2</math>
 +
 +
Where in this case <math>e=8</math>. Setting the polynomial to zero and plotting that equation with Maple results the following picture.
  
</source>
+
[[Image:Plot_watt_curve.jpeg]]
  
 
[[Category:Examples]]
 
[[Category:Examples]]
 
[[Category:Curves]]
 
[[Category:Curves]]

Latest revision as of 18:17, 20 February 2013

Trace

With JSXGraph elements can be traced to visualize construced loci.

References

The underlying JavaScript code

board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-2, 16, 22, -2], axis: true, grid: false});
p1 = board.create('point', [7, 8], {face:'x',size:4,name:"",fixed:true});
p2 = board.create('point', [15, 8], {face:'x',size:4,name:"",fixed:true});
c1 = board.create('circle', [p1, 4.5]);
c2 = board.create('circle', [p2, 4.5]);
g1 = board.create('glider', [0, 0, c1], {size:3,name:"Drag me"});
c3 = board.create('circle', [g1, 8]);
g2 = board.create('point', [board.intersectionFunc(c2,c3,0)], {size:3, name: ""});
g3 = board.create('point', [board.intersectionFunc(c2,c3,1)], {size:3, name: ""});
m1 = board.create('midpoint', [g1,g2], {face:'[]',size:3,withLabel:false,trace:true});
m2 = board.create('midpoint', [g1,g3], {face:'[]',size:3,withLabel:false,trace:true,strokeColor:'green'});

function clearTrace() {
    m1.clearTrace();
    m2.clearTrace();
}

Compute Locus Equation

One way to compute the locus equation of the traced points in the above construction is the Groebner-Basis-Method. Applying this method to the above construction we get this polynomial:

[math]16e^4s^2 - 96e^3s^3 + 208e^2s^4 - 192es^5 + 64s^6 + 16e^4t^2 - 96e^3st^2 + 288e^2s^2t^2 - 384es^3t^2 + 192s^4t^2 + 80e^2t^4 - 192est^4 + 192s^2t^4 + 64t^6 + 136e^3s - 680e^2s^2 + 1088es^3 - 544s^4 - 1432e^2t^2 + 1088est^2 - 1088s^2t^2 - 544t^4 + 289e^2 - 1156es + 1156s^2 + 1156t^2[/math]

Where in this case [math]e=8[/math]. Setting the polynomial to zero and plotting that equation with Maple results the following picture.

Plot watt curve.jpeg