Difference between revisions of "ApplyMatrix Command"
From GeoGebra Manual
m (typo) |
|||
Line 2: | Line 2: | ||
{{command|vector-matrix}} | {{command|vector-matrix}} | ||
; ApplyMatrix[ <[[Matrices|Matrix]]>, <[[Geometric Objects|Object]]> ]: Transforms the object ''O'' so that point ''P'' of ''O'' is mapped to: | ; ApplyMatrix[ <[[Matrices|Matrix]]>, <[[Geometric Objects|Object]]> ]: Transforms the object ''O'' so that point ''P'' of ''O'' is mapped to: | ||
− | * point ''M*P'' | + | * point ''M*P'', if ''P'' is a ''2D'' point and ''M'' is a 2 x 2 matrix |
− | * point ''project(M*(x(P), y(P), 1))'' | + | :{{example|1= Let <code>M={{cos(π/2),-sin(π/2)}, {sin(π/2), cos(π/2)}}</code> be the transformation matrix and <code>u = (2,1)</code> a given vector (object). <code>ApplyMatrix[M,u]</code> yields the vector ''u'=(-1,2)'', i.e. the result of a mathematically positive rotation by 90° of vector ''u''.}} |
− | + | * point ''project(M*(x(P), y(P), 1))'', if ''P'' is a ''2D'' point and ''M'' a 3 x 3 matrix: ''project'' is a projection, mapping point ''(x, y, z)'' to ''(x/z, y/z)''. | |
− | :{{example|1= Let <code>M={{ | + | :{{example|1=Let <code>M={{1,1,0},{0,1,1},{1,0,1}}</code> be a matrix and <code>u=(2,1)</code> a given vector. <code>ApplyMatrix[M,u]</code> yields vector ''u'=(1,0.67)''. In effect <math>\begin{pmatrix}1&1&0\\ 0&1&1\\1&0&1 \end{pmatrix}</math> <math>\begin{pmatrix}2\\ 1\\1 \end{pmatrix}</math> = <math>\begin{pmatrix}3\\ 2\\3 \end{pmatrix}</math>, and (3/3 = 1, 2/3 ≈ 0.67) (rounding to 2 decimal places)}} |
+ | :* point ''M*P'', if ''P'' is a ''3D'' point and ''M'' a 3 x 3 matrix | ||
+ | :* point ''N*P'', if ''P'' is a ''3D'' point and ''M'' a 2 x 2 matrix: the matrix ''N'' is the ''completion or order 3'' of ''M'': given ''M'' = <math>\begin{pmatrix}a&b\\ c&d \end{pmatrix}</math> then ''N'' = <math>\begin{pmatrix}a&b&0\\ c&d&0\\0&0&1 \end{pmatrix}</math> | ||
:{{note| 1=This command also works for [[Images|images]].}} | :{{note| 1=This command also works for [[Images|images]].}} |
Revision as of 10:46, 15 December 2014
- point M*P, if P is a 2D point and M is a 2 x 2 matrix
- Example: Let
M={{cos(π/2),-sin(π/2)}, {sin(π/2), cos(π/2)}}
be the transformation matrix andu = (2,1)
a given vector (object).ApplyMatrix[M,u]
yields the vector u'=(-1,2), i.e. the result of a mathematically positive rotation by 90° of vector u.
- point project(M*(x(P), y(P), 1)), if P is a 2D point and M a 3 x 3 matrix: project is a projection, mapping point (x, y, z) to (x/z, y/z).
- Example: Let
M={{1,1,0},{0,1,1},{1,0,1}}
be a matrix andu=(2,1)
a given vector.ApplyMatrix[M,u]
yields vector u'=(1,0.67). In effect \begin{pmatrix}1&1&0\\ 0&1&1\\1&0&1 \end{pmatrix} \begin{pmatrix}2\\ 1\\1 \end{pmatrix} = \begin{pmatrix}3\\ 2\\3 \end{pmatrix}, and (3/3 = 1, 2/3 ≈ 0.67) (rounding to 2 decimal places)
- point M*P, if P is a 3D point and M a 3 x 3 matrix
- point N*P, if P is a 3D point and M a 2 x 2 matrix: the matrix N is the completion or order 3 of M: given M = \begin{pmatrix}a&b\\ c&d \end{pmatrix} then N = \begin{pmatrix}a&b&0\\ c&d&0\\0&0&1 \end{pmatrix}
- Note: This command also works for images.