ApplyMatrix 命令

ApplyMatrix( < Matrices >, < Geometric_Objects > )

变换对象 O 使得点 P O 被映射为:

  • M*P ,如果 P 是一个 2D 点且 M 是一个 2 x 2 矩阵

  • project(M*(x(P), y(P), 1)) ,如果 P 是一个 2D 点且 M 一个 3 x 3 矩阵: project 是一个投影,将点 (x, y, z) 映射到 (x/z, y/z) .

  • M*P ,如果 P 是一个 3D 点且 M 是一个 3×3 矩阵

  • N*P ,如果 P 是一个 3D 点且 M 是一个 2×2 矩阵:矩阵 N 3 阶扩充 M :给定 M = \(\begin{pmatrix}a&b\\ c&d \end{pmatrix}\),则 N = \(\begin{pmatrix}a&b&0\\ c&d&0\\0&0&1 \end{pmatrix}\)

M={{cos(π/2),-sin(π/2)}, {sin(π/2), cos(π/2)}} 为变换矩阵且 u = (2,1) 为给定向量(对象)。 ApplyMatrix(M,u) 得到向量 u'=(-1,2) ,即将向量逆时针旋转 90° 的结果 u .

M={{1,1,0},{0,1,1},{1,0,1}} 为一个矩阵且 u=(2,1) 为给定向量。 ApplyMatrix(M,u) 得到向量 u'=(1,0.67) . 实际上 \(\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}\),且 (3/3 = 1, 2/3 ≈ 0.67)(四舍五入保留 2 位 小数)

此命令也适用于二次曲面和 Image .