Answers:
线性代数是3D图形编程最重要的学科,仅仅是因为它是描述空间几何的数学语言。您的其他三个主题实际上只是线性代数的子集:
至于3D图形编程的其他相关数学部分,我建议您不能获得足够多的关注的是计算几何。很多自然问题都归结为计算几何学的主题:
之后,我鼓励您研究基本演算,尤其是微分方程的数值方法;它们与3d图形本身的相关性比与3d物理学的相关性小,但总的来说,这两个主题紧密联系在一起(即使对于运动学上的简单问题,例如对于角色动画等),并且两者都有一定的知识大大增强您对这两者的了解;如果没有与图形使用相同的核心线性代数知识,那么即使不是不可能也不可能操作相关的物理学,但是同时拥有物理知识也为理解图形中的主题提供了另一参考点。
http://www.dickbaldwin.com/KjellTutorial/KjellVectorTutorialIndex.htm是有关2D / 3D矢量数学及其在图形编程中的应用的非常好和直接的教程。
如果您熟悉笛卡尔坐标,那么上述主题在计算机图形学中的应用应该非常清楚。有一些针对OpenGL的教程,这些教程将有助于阐明数学在解决基本显示问题中的应用,例如,如何使线框模型看起来旋转。维基百科上有关透视图的文章可能会有助于您了解一些历史背景。
除此之外,还有许多展示主题可以从数学公式中受益。例如,3D实体通常由其表面的三角剖分表示。我们如何仅显示观察者“应该”看到的那部分表面(隐藏的表面/线算法)?如果要从特定的光源/方向照亮对象,该对象如何与透视交互以提供令人信服的表面渲染?
除此之外,还有各种各样有趣的建模主题,例如雾气或火焰的动画。但是,正如您的主题列表所关注的那样,坐标的转换是以后所有改进的主要内容。
它们不是全部必需的。矢量数学遍布3D图形,您可能无需知道矢量数学的精妙点就可以设置几何图形,但是凹凸贴图之类的东西将变得非常困难,您将陷入物理困境。
四元数只是为某些数学提供了一个不同的描述,可能会很不错,但是由于更传统的数学足以描述四元数可以进行的任何计算,因此四元数当然不需要。
矩阵数学和线性代数关系非常密切,最重要的是描述了数字集上的线性运算。但是,这又是另一种描述可以用矢量和代数描述的事物的方式。
我不知道您是否认为它只是基础数学的一部分,但是三角学当然也需要列出。