数学字计算机图形学中的应用

Greg Turk的文章,对自己有一定的借鉴意义
原文链接来自:https://www.cc.gatech.edu/~turk/math_gr.html

1、只是为了使用图形软件,如Photoshop, 3D Studio Max, Maya, AutoCAD等,几乎不需要多少数学知识;基本概念和操作只需要参考教程,若想精通的话还是得入门一些图形学的知识。

2、想对计算机图形学入门,则至少需要掌握代数,三角学和线性代数的一些基本知识;这也是要成为图形软件高手所必需掌握的;

3、想成为一名计算机图形学的研究工作者,那么对数学的学习将是“活到老,学到老”。在应用和实现的过程中我们会发现“数学不是没有用,而是不够用!”。

话说回来,在大学课堂里,我们所学的那些数学看起来都很抽象,枯燥无味,这是因为自己并不知道它们的用处。与课堂学习数学不一样的是,我们在计算机图形学的学习和研究过程中会感受到数学的用处和美妙,这时你学习数学的目的将更加明确,兴趣将更加浓厚,学习方法将更加有效。

初等代数和三角学

推荐的参考书为:
Computer Graphics: Principles and Practice
James Foley, Andries van Dam, Steven Feiner, John Hughes
Addison-Wesley

线性代数
数学分析(微积分学)

微积分学是高级计算机图形学的重要成分。

微分几何

微分几何学研究描述和控制光滑曲线,曲面的方程。如果要计算出经过某个远离曲面的点并垂直于曲面的矢量(法向矢量)就会用到微分几何学。如果要着手于用曲线和曲面来创造形体(在图形学里称之为建模),我们至少应该学习微分几何学的基础。

数值方法(计算方法)

数值方法研究的对象包括“计算方法”和“科学计算”等等。这是一个很广阔的领域,而且以下提及的其他几门数学其实是数值方法的一些分支。这些分支包括抽样法理论,矩阵方程组,数值微分方程组和最优化。
推荐参考书为:
Numerical Recipes in C++: The Art of Scientific Computing
William Press, Saul Teukolsky, William Vetterling and Brian Flannery
Cambridge University Press

到这我自己的知识储备就为止了,接下来的内容自己还有待学习。

抽样法理论和信号处理

在计算机图形学里我们反复使用储存在正规二维数组里的数字集合来表示一些对象,例如图片和曲面。这时,我们就要用抽样法来表示这些对象。如果要控制这些对象的质量,抽样法理论就变得尤为重要。抽样法应用于图形学的常见例子是当物体被绘制在屏幕上时,它的轮廓呈现锯齿状的边缘。这锯齿状的边缘(被认为是“混淆”现象)是非常让人分散注意力的,用抽样法中著名的技术例如回旋,傅立叶变换,空间和频率的函数表示就能把这个现象减少到最小。这些思想在图像和音频处理领域是同样重要的。
推荐的参考书为:
The Fourier Transform and Its Applications
Ronald N. Bracewell
McGraw Hill

矩阵计算

计算机图形学的许多问题要用到矩阵方程组的数值解法。一些涉及矩阵的问题包括:找出最好的位置与方向以使对象们互相匹配(最小二乘法),创建一个覆盖所给点集的曲面,并使皱折程度最小(薄板样条算法),还有材质模拟,例如水和衣服等。在图形学里矩阵表述相当流行,因此在用于图形学的数学中我对矩阵方程组的评价是很高的。
推荐的参考书:
Matrix Computations
Gene Golub and Charles Van Loan
Johns Hopkins University Press

物理学(物理模拟)

在图形学里,牵涉物理学的问题包括光与物体的表面是怎样互相影响的,人与动物的移动方式,水与空气的流动。为了模拟这些自然现象,物理学的知识是必不可少的。。

微分方程的数值解法(有限元方法)

对于计算机图形学来说,解微分方程的技巧是非常重要的。像我们刚才讨论的,计算机图形学致力于模拟源于真实世界的物理系统。波浪是怎样在水里形成的,动物是怎样在地面上行走的,这就是两个模拟物理系统的例子。模拟物理系统的问题经常就是怎样解微分方程的数值解。请注意,微分方程的数值解法与微分方程的符号解法是有很大差异的。符号解法求出没有误差的解,而且时常只用于一些非常简单的方程。有时大学课程里的“微分方程”只教符号解法,不过这并不会对多数计算机图形学的问题有帮助。
在对物理系统的模拟中,我们把世界细分为许多表示成矢量的小元素。然后这些元素之间的关系就可以用矩阵来描述。虽然要处理的矩阵方程组往往没有很精确的解,但是取而代之的是执行了一系列的计算,这些计算产生一个表示成数列的近似解。这就是微分方程的数值解法。请注意,矩阵方程的解法与微分方程数值解法的关系是很密切的。

最优化

在计算机图形学里,我们常常为了期望的目标寻求一种合适的描述对象或者对象集的方法。例如安排灯的位置使得房间的照明看起来有种特殊的“感觉”,动画里的人物要怎样活动四肢才能实现一个特殊的动作,怎样排版才不会使页面混乱。以上这些例子可以归结为最优化问题。十年前的计算机图形学几乎没有最优化技术的文献,不过最近这个领域越来越重视最优化理论。作者认为在计算机图形学里,最优化的重要性将会日益增加。

概率论与统计学

计算机图形学的许多领域都要用到概率论与统计学。当研究者涉足人类学科时,他们当然需要统计学来分析数据。图形学相关领域涉及人类学科,例如虚拟现实和人机交互(HCI)。另外,许多用计算机描绘真实世界的问题牵涉到各种未知事件的概率。两个例子:一棵成长期的树,它的树枝分杈的概率;虚拟的动物如何决定它的行走路线。最后,一些解高难度方程组的技巧用了随机数来估计方程组的解。重要的例子:蒙特卡罗方法经常用于光如何传播的问题。以上仅是一部分在计算机图形学里使用概率论和统计学的方法。
另外,在机器学习和统计学习中,需要非常多和深入的统计学知识。

拓扑学

用一句话来形容拓扑学,它研究油炸圈饼与咖啡杯为什么在本质上是相同的。答案是他们都是只有一个洞的曲面。对于计算机图形学来说,拓扑学的形式(符号表示法)是表达思想的简便方法,常用于分析一些曲面的性质,在形状分析、形状匹配和搜索中得到应用。

黎曼几何

黎曼几何是研究流形曲面上的微积分与微分几何。不同与三维欧氏空间,它研究的曲面是在流形曲面上,其中用到不同的度量。这部分数学知识有点抽象,但是同样有效地被用到计算机图形学中。如共形几何理论就被发展起来在计算机图形学中得到广泛的应用。

抽象代数

抽象代数就是研究群论,环论和域的代数学。相对于线性代数,内容也比较抽象。在计算机图形学上也时有用到。

计算几何

计算几何学研究如何用计算机高效地表示与操作几何体。典型问题如,碰撞检测,把多边形分解为三角形,找出最靠近某个位置的点,这个学科包括了运算法则,数据结构和数学。图形学的研究者,只要涉足创建形体(建模),就要大量用到计算几何学。
推荐的参考书为:
Computational Geometry in C
Joseph O’Rourke
Computational Geometry: An Introduction
Franco Preparata and Michael Shamos
Springer-Verlag

其他几何学

一些其他的几何学,如《仿射几何》、《射影几何》在计算机图形学的某些问题上用得比较多,对工程具有较大的促进应用。

我们要知道,学习数学最好的方式就是使用它,使用它越多,你就觉得它越有用,越有趣,学得就越好,也越快,越扎实。当然,很少有人能精通全部的知识,对于计算机图形学的学习和实践,应当采取掌握较为宽广的数学知识基础,在需要的时候,对相关的数学知识再进行深入的学习和挖掘;不要因为自身数学知识的匮乏而沮丧,更不能因此而敌视数学,保持对计算机图形学强烈的兴趣和乐观上进的学习态度是学习计算机图形学的关键。

学习计算机图形学和从事计算机图形学的研究,除了数学基础外,还需要较强的计算机编程能力,我们务必要掌握和熟练一门编程语言,一般建议C/C++,因为要实现出自己的想法,我们必须编程去实现出来,做出漂亮的结果。

你可能感兴趣的:(学习笔记)