Shear transformation: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 12: | Line 12: | ||
JXG.Options.label.autoPosition = true; | JXG.Options.label.autoPosition = true; | ||
JXG.Options.text.fontSize = 20; | JXG.Options.text.fontSize = 20; | ||
var board = JXG.JSXGraph.initBoard('jxgbox', { boundingbox: [- | var board = JXG.JSXGraph.initBoard('jxgbox', { boundingbox: [-10, 10, 10, -10], axis: true}); | ||
var x = board.defaultAxes.x; | var x = board.defaultAxes.x; | ||
Line 28: | Line 28: | ||
], {visible: false}); | ], {visible: false}); | ||
var s1 = board.create('segment', [q, q1], {dash:2}); | var s1 = board.create('segment', [q, q1], {dash:2}); | ||
var s2 = board.create('segment', [qx, q], {dash:2}); | var s2 = board.create('segment', [qx, q], {dash:2}); | ||
</jsxgraph> | </jsxgraph> | ||
=== The underlying JavaScript code === | === The underlying JavaScript code === | ||
<source lang="javascript"> | <source lang="javascript"> | ||
JXG.Options.label.autoPosition = true; | |||
JXG.Options.text.fontSize = 20; | |||
var board = JXG.JSXGraph.initBoard('jxgbox', { boundingbox: [-10, 10, 10, -10], axis: true}); | |||
var x = board.defaultAxes.x; | |||
var y = board.defaultAxes.y; | |||
var q = board.create('point', [1, 2], {name: 'q', snapToGrid: true}); | |||
var q1 = board.create('point', [ | |||
() => q.X() + q.Y(), | |||
() => q.Y() | |||
], {name: 'φ(q)'}); | |||
var qx = board.create('point', [ | |||
() => q.X(), | |||
() => 0 | |||
], {visible: false}); | |||
var s1 = board.create('segment', [q, q1], {dash:2}); | |||
var s2 = board.create('segment', [qx, q], {dash:2}); | |||
</source> | </source> | ||
[[Category:Examples]] | [[Category:Examples]] | ||
[[Category:Geometry]] | [[Category:Geometry]] |
Revision as of 07:19, 31 May 2021
Shear transformation
- [math]\displaystyle{ \varphi: {\cal A}(\mathbb{R}^2) \to {\cal A}(\mathbb{R}^2), \; x \mapsto \begin{pmatrix}1 & 1 \\ 0& 1\end{pmatrix} }[/math]
Points of the form [math]\displaystyle{ {x\choose \lambda} }[/math] are mapped to:
- [math]\displaystyle{ \varphi({x\choose \lambda}) = {x + \lambda\choose} }[/math]
The underlying JavaScript code
JXG.Options.label.autoPosition = true;
JXG.Options.text.fontSize = 20;
var board = JXG.JSXGraph.initBoard('jxgbox', { boundingbox: [-10, 10, 10, -10], axis: true});
var x = board.defaultAxes.x;
var y = board.defaultAxes.y;
var q = board.create('point', [1, 2], {name: 'q', snapToGrid: true});
var q1 = board.create('point', [
() => q.X() + q.Y(),
() => q.Y()
], {name: 'φ(q)'});
var qx = board.create('point', [
() => q.X(),
() => 0
], {visible: false});
var s1 = board.create('segment', [q, q1], {dash:2});
var s2 = board.create('segment', [qx, q], {dash:2});