Images and Transformations: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs)  New page: Here is an example where images are combined with transformations. <jsxgraph with="500" height="500" box="box1"> (function(){   var brd = JXG.JSXGraph.initBoard('box1', {boundingbox:[-5,5,...  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 2: | Line 2: | ||
<jsxgraph with="500" height="500" box="box1">  | <jsxgraph with="500" height="500" box="box1">  | ||
(function(){  | (function(){  | ||
   var brd = JXG.JSXGraph.initBoard('box1', {boundingbox:[-5,5,5,-5],axis:true});  |    var brd = JXG.JSXGraph.initBoard('box1', {boundingbox:[-5,5,5,-5], axis:true});  | ||
   var urlImg = "http://jsxgraph.uni-bayreuth.de/distrib/images/uccellino.jpg";  |    var urlImg = "http://jsxgraph.uni-bayreuth.de/distrib/images/uccellino.jpg";  | ||
   var p0 =   |    var p0 = brd.create('point', [0,0], {style:5, name:'offset'});    | ||
   var p1 =   |    var p1 = brd.create('point', [3,0], {style:5, name:'rotate+scale'});    | ||
   var li =   |    var li = brd.create('line', [p0,p1]);    | ||
   var im =   |    var im = brd.create('image',[urlImg, [0,0], [3,3]]);  | ||
   //    |    //    | ||
   // Translate image and point "rot+scale" by freagging point "offset"  |    // Translate image and point "rot+scale" by freagging point "offset"  | ||
   var tOff =   |    var tOff = brd.create('transform', [function(){return p0.X()},function(){return p0.Y()}], {type:'translate'});    | ||
   tOff.bindTo(im);  |    tOff.bindTo(im);  | ||
   tOff.bindTo(p1);  |    tOff.bindTo(p1);  | ||
   // Rotate image around point "offset" by dragging point "rot+scale"  |    // Rotate image around point "offset" by dragging point "rot+scale"  | ||
   var tRot =   |    var tRot = brd.create('transform', [function(){return Math.atan2(p1.Y()-p0.Y(),p1.X()-p0.X())}, p0], {type:'rotate'});    | ||
   tRot.bindTo(im);  |    tRot.bindTo(im);  | ||
| Line 23: | Line 23: | ||
   // then scale the image (because scaling "starts from (0,0))  |    // then scale the image (because scaling "starts from (0,0))  | ||
   // Finally, we move the image back to point "Offset"  |    // Finally, we move the image back to point "Offset"  | ||
   var tOffInv =   |    var tOffInv = brd.create('transform', [function(){return -p0.X()},function(){return -p0.Y()}], {type:'translate'});    | ||
   var tScale =   |    var tScale = brd.create('transform', [function(){return p1.Dist(p0)/3;},  | ||
                                        function(){return p1.Dist(p0)/3;}], {type:'scale'});    | |||
   tOffInv.bindTo(im); tScale.bindTo(im); tOff.bindTo(im);  |    tOffInv.bindTo(im); tScale.bindTo(im); tOff.bindTo(im);  | ||
})();  | })();  | ||
Revision as of 21:15, 1 January 2011
Here is an example where images are combined with transformations.