通过书籍学习C++和面向对象编程绝对没有问题.但是,我真的很想进入3D游戏开发,但我觉得我的数学技能还不够发达.我想了解点积,交叉积,法线,向量等.我也听说微积分对此也是非常重要的,以及线性代数.
我也希望能够了解如何实现fustrum扑杀,八叉树,3D灯光,等等.因为现在,当我按照这些东西我觉得我只是将代码复制,而完全不理解底层的数学教程.
不幸的是,我在大学里所做的计算机科学课程并不专注于数学,而是专注于编程,硬件和网络.因此我从未参加过微积分课程.
什么书理解这些概念是理想的?
谢谢
Dave Eberly(http://www.geometrictools.com/)的任何书籍,如"3D游戏引擎设计"或"3D游戏引擎架构"都可以找到与3D游戏开发直接相关的信息.他的网站也包含大量信息.
想到的另一个是Realtime Rendering书.(http://www.realtimerendering.com/)网站本身再次包含大量信息.
我能给你的最好的建议是应用你所读的内容.一旦你理解了这个理论,看到这些概念就会让你更加掌握这个主题.
从一个非常适用的角度来看,"OpenGL红皮书"有一些很好的东西:http: //www.amazon.com/OpenGL-Programming-Guide-Networking-Technology/dp/0321173481
相反的结果,如果你想能够坐下来为半抽象问题找到自己的解决方案,这是一本很棒的线性代数书:http://www.amazon.com/Linear-Algebra-Applications -示差-方程/ DP/0471174211
"当我按照教程进行这些操作时,我觉得我只是在复制代码"
它难以取代在大学环境中被迫做数学问题的压力......你必须提高自己的收益,并放松地想要在代码中做一些复杂的工作.选择一些非常简单的东西,例如绘制XYZ轴和可视化矩阵变换,并在没有任何API调用的情况下从math/scratch进行.