Matrix multiplication: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				No edit summary  | 
				||
| Line 1: | Line 1: | ||
<  | <jsxgraph box="box1" width="400" height="300">  | ||
   var b1 = JXG.JSXGraph.initBoard('box1', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});  | |||
   var b1 = JXG.JSXGraph.initBoard('box1', {  | |||
   b1.suspendUpdate();  |    b1.suspendUpdate();  | ||
   var a = b1.create('slider',[[-5,-2],[5,-2],[-5,1,5]],{name:'a'});  |    var a = b1.create('slider',[[-5,-2],[5,-2],[-5,1,5]],{name:'a'});  | ||
   var b = b1.create('slider',[[-5,-3],[5,-3],[-5,0,5]],{name:'b'});  |    var b = b1.create('slider',[[-5,-3],[5,-3],[-5,0,5]],{name:'b'});  | ||
| Line 15: | Line 7: | ||
   var d = b1.create('slider',[[-5,-5],[5,-5],[-5,1,5]],{name:'d'});  |    var d = b1.create('slider',[[-5,-5],[5,-5],[-5,1,5]],{name:'d'});  | ||
   var v = b1.create('point',[2,2],{  |    var v = b1.create('point',[2,2],{size:3,name:'v'});  | ||
   var w = b1.create('point',[-2,1],{  |    var w = b1.create('point',[-2,1],{size:3,name:'w'});  | ||
   var va = b1.create('  |    var va = b1.create('arrow',[[0,0],v]);  | ||
   var wa = b1.create('  |    var wa = b1.create('arrow',[[0,0],w]);  | ||
   b1.unsuspendUpdate();  |    b1.unsuspendUpdate();  | ||
</jsxgraph>  | |||
   var b2 = JXG.JSXGraph.initBoard('box2', {  | <jsxgraph box="box2" width="400" height="300">  | ||
   var b2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});  | |||
   b1.addChild(b2);  |    b1.addChild(b2);  | ||
   b2.suspendUpdate();  |    b2.suspendUpdate();  | ||
   var v2 = b2.create('point',[  |    var v2 = b2.create('point',[  | ||
        function() {return a.Value()*v.X()+b.Value()*v.Y();},  |         function() {return a.Value()*v.X()+b.Value()*v.Y();},  | ||
        function() {return c.Value()*v.X()+d.Value()*v.Y();}],{  |         function() {return c.Value()*v.X()+d.Value()*v.Y();}],{face:'[]',size:2,name:"v'"});  | ||
   var w2 = b2.create('point',[  |    var w2 = b2.create('point',[  | ||
        function() {return a.Value()*w.X()+b.Value()*w.Y();},  |         function() {return a.Value()*w.X()+b.Value()*w.Y();},  | ||
        function() {return c.Value()*w.X()+d.Value()*w.Y();}],{  |         function() {return c.Value()*w.X()+d.Value()*w.Y();}],{face:'[]',size:2,name:"w'"});  | ||
   var va2 = b2.create('line',[[0,0],v2],{straightFirst:false, straightLast:false, lastArrow:true});  |    var va2 = b2.create('line',[[0,0],v2],{straightFirst:false, straightLast:false, lastArrow:true});  | ||
   var wa2 = b2.create('line',[[0,0],w2],{straightFirst:false, straightLast:false, lastArrow:true});  |    var wa2 = b2.create('line',[[0,0],w2],{straightFirst:false, straightLast:false, lastArrow:true});  | ||
   var t = b2.create('text',[-6,-2,function(){ return '|'+b2.round(a.Value(),2)+' '+b2.round(b.Value(),2)+'|'+'<br>'+'|'+b2.round(c.Value(),2)+' '+b2.round(d.Value(),2)+'|';}]);  |    var t = b2.create('text',[-6,-2,function(){ return '|'+b2.round(a.Value(),2)+' '+b2.round(b.Value(),2)+'|'+'<br>'+'|'+b2.round(c.Value(),2)+' '+b2.round(d.Value(),2)+'|';}]);  | ||
   b2.unsuspendUpdate();  |    b2.unsuspendUpdate();  | ||
</jsxgraph>  | |||
</  | |||
=== References ===  | === References ===  | ||
| Line 47: | Line 37: | ||
<source lang="javascript">  | <source lang="javascript">  | ||
var b1 = JXG.JSXGraph.initBoard('box1', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});  | |||
b1.suspendUpdate();  | |||
var a = b1.create('slider',[[-5,-2],[5,-2],[-5,1,5]],{name:'a'});  | |||
var b = b1.create('slider',[[-5,-3],[5,-3],[-5,0,5]],{name:'b'});  | |||
var c = b1.create('slider',[[-5,-4],[5,-4],[-5,0,5]],{name:'c'});  | |||
var d = b1.create('slider',[[-5,-5],[5,-5],[-5,1,5]],{name:'d'});  | |||
var v = b1.create('point',[2,2],{size:3,name:'v'});  | |||
var w = b1.create('point',[-2,1],{size:3,name:'w'});  | |||
var va = b1.create('line',[[0,0],v],{straightFirst:false, straightLast:false, lastArrow:true});  | |||
var wa = b1.create('line',[[0,0],w],{straightFirst:false, straightLast:false, lastArrow:true});  | |||
b1.unsuspendUpdate();  | |||
var b2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});  | |||
b1.addChild(b2);  | |||
b2.suspendUpdate();  | |||
var v2 = b2.create('point',[  | |||
     function() {return a.Value()*v.X()+b.Value()*v.Y();},  | |||
     function() {return c.Value()*v.X()+d.Value()*v.Y();}],{face:'[]',size:2,name:"v'"});  | |||
var w2 = b2.create('point',[  | |||
     function() {return a.Value()*w.X()+b.Value()*w.Y();},  | |||
     function() {return c.Value()*w.X()+d.Value()*w.Y();}],{face:'[]',size:2,name:"w'"});  | |||
var va2 = b2.create('line',[[0,0],v2],{straightFirst:false, straightLast:false, lastArrow:true});  | |||
var wa2 = b2.create('line',[[0,0],w2],{straightFirst:false, straightLast:false, lastArrow:true});  | |||
var t = b2.create('text',[-6,-2,function(){ return '|'+b2.round(a.Value(),2)+' '+b2.round(b.Value(),2)+'|'+'<br>'+'|'+b2.round(c.Value(),2)+' '+b2.round(d.Value(),2)+'|';}]);  | |||
b2.unsuspendUpdate();  | |||
</source>  | </source>  | ||
[[Category:Examples]]  | [[Category:Examples]]  | ||
Revision as of 09:03, 8 June 2011
References
The underlying JavaScript code
var b1 = JXG.JSXGraph.initBoard('box1', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});
b1.suspendUpdate();
var a = b1.create('slider',[[-5,-2],[5,-2],[-5,1,5]],{name:'a'});
var b = b1.create('slider',[[-5,-3],[5,-3],[-5,0,5]],{name:'b'});
var c = b1.create('slider',[[-5,-4],[5,-4],[-5,0,5]],{name:'c'});
var d = b1.create('slider',[[-5,-5],[5,-5],[-5,1,5]],{name:'d'});
var v = b1.create('point',[2,2],{size:3,name:'v'});
var w = b1.create('point',[-2,1],{size:3,name:'w'});
var va = b1.create('line',[[0,0],v],{straightFirst:false, straightLast:false, lastArrow:true});
var wa = b1.create('line',[[0,0],w],{straightFirst:false, straightLast:false, lastArrow:true});
b1.unsuspendUpdate();
var b2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});
b1.addChild(b2);
b2.suspendUpdate();
var v2 = b2.create('point',[
     function() {return a.Value()*v.X()+b.Value()*v.Y();},
     function() {return c.Value()*v.X()+d.Value()*v.Y();}],{face:'[]',size:2,name:"v'"});
var w2 = b2.create('point',[
     function() {return a.Value()*w.X()+b.Value()*w.Y();},
     function() {return c.Value()*w.X()+d.Value()*w.Y();}],{face:'[]',size:2,name:"w'"});
var va2 = b2.create('line',[[0,0],v2],{straightFirst:false, straightLast:false, lastArrow:true});
var wa2 = b2.create('line',[[0,0],w2],{straightFirst:false, straightLast:false, lastArrow:true});
var t = b2.create('text',[-6,-2,function(){ return '|'+b2.round(a.Value(),2)+' '+b2.round(b.Value(),2)+'|'+'<br>'+'|'+b2.round(c.Value(),2)+' '+b2.round(d.Value(),2)+'|';}]);
b2.unsuspendUpdate();