什么书会涵盖3D游戏开发数学的理论?

时间:2011-04-16 22:17:43

标签: c++ math

通过书籍学习C ++和面向对象编程绝对没有问题。但是,我真的很想进入3D游戏开发,但我觉得我的数学技能还不够发达。我想了解点积,交叉积,法线,向量等。我也听说微积分对此也是非常重要的,以及线性代数。

我也希望能够理解如何实现fustrum剔除,八叉树,3D照明等。因为现在,当我按照教程进行这些操作时,我觉得我只是在复制代码而根本没有理解底层数学。

不幸的是,我在大学里所做的计算机科学课程并不专注于数学,而是专注于编程,硬件和网络。因此,我从未参加过微积分课程。

理解这些概念的书是什么?

由于

5 个答案:

答案 0 :(得分:6)

Dave Eberly(http://www.geometrictools.com/)的任何书籍,如“3D游戏引擎设计”或“3D游戏引擎架构”都可以找到与3D游戏开发直接相关的信息。他的网站也包含大量信息。

另一个浮现在脑海中的是Realtime Rendering书。 (http://www.realtimerendering.com/)网站本身又包含大量信息。

我能给你的最好建议是应用你所读的内容。一旦你理解了这个理论,看到这些概念就会让你更加掌握这个主题。

答案 1 :(得分:5)

“OpenGL红皮书”从一个非常适用的角度来看有一些好东西:http://www.amazon.com/OpenGL-Programming-Guide-Networking-Technology/dp/0321173481

相反的结果,如果你想能够坐下来为半抽象问题找到自己的解决方案,这是一本很棒的线性代数书:http://www.amazon.com/Linear-Algebra-Applications-Differential-Equations/dp/0471174211

  

“当我按照教程进行这些操作时,我觉得我只是在复制代码”

很难在大学环境中取代被迫做数学问题的压力......你必须提高自己的收益,并放松地想要在代码中做一些复杂的工作。选择一些非常简单的东西,例如绘制XYZ轴和可视化矩阵变换,并在没有任何API调用的情况下从math / scratch进行。

答案 2 :(得分:3)

Eric Lengyel(查尔斯河媒体公司)

3D游戏编程和计算机图形学数学

我不时使用这本书,因为它涵盖了所有线性代数,用于计算三维计算。从洛杉矶的基础知识到变换,几何,光线追踪,光照数学,可见性,碰撞检测(棘手的部分)以及更高级的主题,如线性/旋转物理,流体模拟和多边形技术。

它的重点是理解实施的数学。

答案 3 :(得分:2)

我发现的非常好,我仍然不时地回到它,以便更新 是3D Math Primer for Graphics and Game Development。关于微积分和线性代数,我发现非常有利于回归大学课程记忆Khan Academy的资源......有时候它会对事物提出一个很好的实践观点 有一个真正的才能,使主题有趣和娱乐。

答案 4 :(得分:0)

你会找到一本很棒的线性代数书。查看此问题以获取有关书籍和免费在线课程的建议:

Books & resources to teach myself Linear Algebra

麻省理工学院在www.academicearth.org上提供了一个很棒的课程:

http://academicearth.org/courses/linear-algebra