矩阵在行动,Grafix 2.0

下面截图中面板中的4 × 4矩阵是计算机图形学的核心。它们描述了在三维空间中移动的物体,对于MATLAB的Handle Graphics、CAD(计算机添加设计)包、电影中的CGI(计算机图形图像)以及大多数流行的视频游戏都是必不可少的。

内容

Grafix 2.0

下面是2.0版的开始画面Grafix这是我用来研究三维计算机图形学中涉及的矩阵的工具。的MATLAB代码Grafix在这里可以找到。

我感兴趣的是面板中的矩阵,我称之为.许多像这样的矩阵描述了在复杂的三维场景中对一组目标对象进行的动态转换。这个特殊的是缩放和旋转的产物,旋转产生所示平面的大小和方向。

我还想指出所使用的坐标轴。这是视图(3), MATLAB默认的三维坐标系统。在屏幕上,正的x轴向上向右,正的y轴向上向左,正的z轴垂直向上。

旋转

齐次坐标现代计算机图形学中使用的系统使得用4 × 4矩阵描述旋转、平移和许多其他操作成为可能。这些矩阵作用于向量,其中对象的位置在前三个分量中,目前是1作为第四个分量,例如。[$x$, $y$, $z$, 1]',

旋转由这些矩阵的乘积来描述,每个矩阵只作用于向量的前三下载188bet金宝搏个分量中的两个。第一个矩阵$R_x$在旋转$y$和$z$时保持$x$不变。第二个矩阵$R_y$在旋转$x$和$z$时,保持$y$不变。第三个矩阵,R_z,在旋转x和y时保持z不变。

$ $ R_xθ(\)= \离开[\{数组}{rrrr}开始1 & 0 & 0 & 0 & 0 \ \ \ cosθ}{\ &——罪\{\θ}& 0 \ \ 0 & \ sinθ}{\ & \ cosθ}{\ \ \ & 0 & 0 & 0 & 1 \结束数组{}\]$ $

$ $ R_yθ(\)= \离开[\开始{数组}{rrrr} \ cosθ}{\ & 0 & - \ sinθ}{\ \ \ & 0 & 1 & 0 & 0 \ \ \ sinθ}{\ & 0 & \ cosθ}{\ \ \ & 0 & 0 & 0 & 1 \结束数组{}\]$ $

$ $ R_zθ(\)= \离开[\开始{数组}{rrrr} \ cosθ}{\ & -罪\{\θ}& 0 & 0 \ \ \ sinθ}{\ & \ cosθ}{\ \ \ & 0 & 0 0 0 \ \ & 0 & 1 & 0 & 0 & 0 & 1 \结束数组{}\]$ $

俯仰,翻滚和偏航

条款球场而且偏航常用于描述飞行器、船舶和宇宙飞船等交通工具的运动。俯仰是$R_x$,绕$x$轴旋转。

滚动是$R_y$,绕$y$轴旋转。

偏航是R_z,绕z轴旋转。

翻译

转换由矩阵描述,矩阵的值在第四列中。将一个向量乘以这些矩阵中的一个,就会得到在相应轴方向上的平移。

$$ T_x(\delta) = \left[\begin{array}{rrrr} 1 & 0 & 0 & & \delta \\ 0 & 1 & & 0 & 0 \ 0 & 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right] $$

$$ T_y(\delta) = \left[\begin{array}{rrrr} 1 & 0 & 0 & 0 \\ 0 & 1 & \delta \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right] $$

$$ T_z(\delta) = \left[\begin{array}{rrrr} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & \delta \\ 0 & 0 & 0 & 1 \end{array} \right] $$

虽然可以简单地通过向指定的坐标添加增量来完成转换,但使用矩阵乘法可以将转换与旋转和其他操作以统一的方式组合在一起。今天的图形处理单元(gpu)上的算术单元被设计成以比通用中央处理器(cpu)快数百倍的速度进行4乘4矩阵乘法。

水平和垂直

受David Singmaster魔方符号L、R、B、F、U和D的启发,我们可以使用描述性术语而且正确的对于$x$方向的水平运动;回来而且出来对于$y$方向的水平运动;而且向上而且下来对于z方向的垂直运动。

$T_x$,左和右。

$T_y$,来回。

$T_z$,上下。

落下的石块

这个矩阵对所有三个轴都应用了一个比例因子。

$$ S(\sigma) = \left[\begin{array}{rrrr} \sigma & 0 & 0 & 0 \\ 0 & 0 \\ 0 & 0 & \sigma & 0 \\ 0 & 0 & 1 \end{array} \right] $$

更大更小

年代美元

建议

刷新浏览器以同步动画。

下载您自己的自动存档副本




由MATLAB®R2023a发布

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。