我一直在业余爱好上对计算机图形学进行一些侧面研究,并发现了有关四元数的这篇文章:
http://www.opengl-tutorial.org/assets/faq_quaternions/index.html#Q2

在矩阵的第一部分中,它描述了2x2、3x3和4x4矩阵及其功能。这是有关3x3矩阵的条目:


3x3矩阵用于执行低预算的3D动画。旋转和乘法之类的运算
可以使用矩阵
进行,但是透视深度投影是使用优化为纯除法运算的
标准来进行的。


我不确定此内容是否表示不再使用3x3矩阵,或者我们是否仍将其用于某些动画的更简单计算。我知道什么是透视深度投影,但是它是使用纯除法运算执行的呢?

#1 楼

那句话是用一种非常奇怪的方式来表达事物。我们绝对在计算机图形学中使用3x3矩阵。它们通常对进行2D对象的仿射变换最有用。它允许您进行缩放,旋转,剪切和平移(以2D格式),但不能进行透视图转换。我相信这就是报价所要表达的意思。

要获得3D场景在2D平面(例如您的计算机屏幕)上的透视投影,有时需要将x除以几何图形中每个点的y分量和y分量会按一定比例预先减小z维度中的线。这就是他们所指的鸿沟。有关更多详细信息,请参见本文。在其中,它们描述:最简单的透视投影使用原点作为投影的中心,而z = 1作为像平面。则此变换的函数形式为x'= x / z; y'= y / z。


评论


$ \ begingroup $
您不能使用3x3矩阵进行3d翻译,而需要4x4。其余我完全同意:P
$ \ endgroup $
–艾伦·沃尔夫(Alan Wolfe)
16年9月16日在20:48

$ \ begingroup $
对不起,如果不清楚。我试图说的是您可以翻译2D对象。我将进行更新以使其更清楚。
$ \ endgroup $
–user1118321
16-09-16在20:49

$ \ begingroup $
即使骨骼的端点连接在一起并且不显示缩放比例,也可以使用3x3矩阵进行3D动画处理(例如,对于人体形状的骨骼,您需要的只是旋转矩阵和骨骼长度),并且可以大大减少内存/总线带宽。
$ \ endgroup $
–aces
16-09-19的3:20