你现在的位置:首页 > 教科研究 >
数学在计算机图形学中的应用
发布时间:2021-02-09  信息发布人:管理员  

学习计算机图形学需要多少的数学?”这是初学者最经常问的问题。狭义的计算机图形学指的是传统的三维建模,绘制,动画等,而广义的计算机图形学还包括计算机图像处理,视频处理,计算机视觉和机器学习等 交叉领域。

答案取决于你想在计算机图形学领域钻研多深

l         如果仅仅使用周围唾手可得的图形软件,如Photoshop, 3D Studio Max, Maya, AutoCAD, Rhino (Grasshoper)等,你不需要知道多少数学知识;通过掌握简单的概念和阅读使用教程你就能使用这些软件的基本功能;但是如果你想精通这些软件,你还是需要学习计算机图形学的一些入门知识的;

l         如果想学习计算机图形学的入门知识,你至少需要掌握数学分析(微积分)、线性代数和解析几何学的一些基本知识(这些都是大学一年级所学的数学知识);这也是要成为图形软件高手所必需掌握的;

l         如果想成为一名计算机图形学的研究工作者,那么对数学的学习将是“活到老,学到老”。重要的是,从以前看似枯燥的数学到看到它的实际应用的过程中,你会更容易享受数学的美妙。在你不断进行计算机图形学的研究的过程中,你会感觉到你的数学知识越来越不够用,从而真正理解“数学不是没有用,而是不够用!”。

 

如果你并不特别喜欢数学,是否仍有在计算机图形学领域工作的机会?是的,计算机图形学的确有一些方面不需要考虑太多的数学问题。你不应该因为数学成绩不好而放弃它,如果你对计算机图形学具有强烈兴趣和好奇心的话,而且你还特别喜欢和擅长计算机编程的话。不过,如果学习了更多的数学知识,那么你将在研究课题上有更多的选择余地。如果你要做很好的计算机图形学的研究工作,则建议你还是多学习些数学。

对于在计算机图形学中哪些数学才是重要的?这个问题是没有明确的答案的。这领域里不同的方面要求掌握不同的数学知识,也许兴趣将会决定了你的方向。那些基本的数学知识和分析能力是最重要的,而其他的数学则是根据你所从事的方向相关。

下面将介绍我们认为对于计算机图形学有用的数学。别以为想成为一名计算机图形学的研究者就必须精通各门数学!在大学里,你所学的那些数学看起来都很抽象,枯燥无味,这是因为你并不知道它们的用处,甚至连讲课的老师也不知道,而你们的目的只是记住那些定理和公式,考个好分数。与大学学习数学不一样的是,你在计算机图形学的学习和研究过程中会感受到数学的用处和美妙,这时你学习数学的目的将更加明确,兴趣将更加浓厚,学习方法将更加有效。因为你是在使用数学的过程中在学习数学!想想看你是如何学会中文说话的?为了对用于计算机图形学的数学有一个全面的看法,这里特地列出了很多方面。注意,不是这里提到的每个方面你都必须熟悉,许多研究工作者从不需要考虑下面提到的某些数学知识,成功的研究者总是将某一方面的数学知识和数学工具用到极致!

最后,虽然读了这篇文章后,你应该会对数学在计算机图形学中的应用有所了解,不过这也是一家之言。也许你应该阅读更多的此类文章,或者至少从其他从事计算机图形学工作的人那里了解不同的学习重点。

 

初等代数和三角学

对于计算机图形学的初学者来说,高中的代数和三角学可能是最重要的数学。日复一日,我从简单的方程解出一个或更多的根。我时常还要解决类似求一些几何图形边长的简单三角学问题。代数和三角学是计算机图形学的最基础的知识。

那么高中的几何学怎么样呢?可能让人惊讶,不过在多数计算机图形学里,高中的几何学并不经常被用到。原因是许多学校教的几何学实际上是如何建立数学证明的课程。虽然证明题对提高智力显然是有效的,但对于计算机图形学来说,那些与几何课有关的定理和证明并不常被用到。如果你毕业于数学相关领域(包括计算机图形学),就会发现虽然你在证明定理,不过这对开始学习图形学不是必要的。

如果精通代数和三角学,就可以开始读一本计算机图形学的入门书了。下一个重要的用于计算机图形学的数学——线性代数,多数此类书籍至少包含了一个对线性代数的简要介绍。

 

推荐的参考书:

Computer Graphics: Principles and Practice

James Foley, Andries van Dam, Steven Feiner, John Hughes

Addison-Wesley

 

线性代数

线性代数的思想贯穿于计算机图形学。事实上,只要牵涉到几何数值表示法,就常常抽象出例如x,y,z坐标之类的数值,我们称之为矢量。计算机图形学自始至终离不开矢量和矩阵。用矢量和矩阵来描述旋转,平移,或者缩放是再好不过了。高中和大学都有线性代数的课程。只要想在计算机图形学领域工作,就应该打下坚实的线性代数基础。我刚才提到,许多图形学的书都有关于线性代数的简要介绍——足够教给你图形学的第一门课。

 

数学分析(微积分学)

微积分学是高级计算机图形学的重要成分。如果打算学习研究图形学,我强烈建议你应该对微积分学有初步认识。理由不仅仅是微积分学是一种很有用的工具,还有许多研究者用微积分学的术语来描述他们的问题和解决办法。另外,在许多重要的数学领域,微积分学被作为进一步学习的前提。学习了基本代数之后,微积分学又是一种能为你打开多数计算机图形学与后继的数学学习之门的课程。

最优化