我不是编程的新手,但我是游戏编程的新手。创造游戏总是我的梦想,因为我今天21岁,我觉得现在开始比以后更好。
在过去,我对数学没有任何问题,但我确实有一种不断的感觉,我可以解决问题,但不明白发生了什么。
“我为什么这样做以及它究竟解决了什么?”
如果我想开始学习数学游戏编程,我会从哪里开始?
编辑:有些人要我说我正在寻找哪种数学,但事实是我不知道这一点。我是一个完整的数学新手。我在Uni做了一个微积分课,但就像我说的那样我刚刚解决了它们但却不知道为什么或如何。答案 0 :(得分:12)
线性代数和三角学可能是图形编程中最重要的。这将包括矩阵/向量,点积和四元数等。在物理学领域,这将是机械和光,使用trig。除此之外,存在用于处理大多数高级数学问题的库。
答案 1 :(得分:1)
如果你有时间阅读,我推荐使用开源物理和数学教科书light and matter。线性代数也很重要 - 我很喜欢Strangs教科书,Linear Algebra。但是,这两种资源都没有特定的以游戏为导向的重点。
答案 2 :(得分:1)
不要忘记,如果您有特定的数学问题,请转到http://math.stackexchange.com!
如果您发现需要特定项目,例如线性代数,Google“Open courseware”+“Subject”。你会发现美国麻省理工学院对此很有帮助 - 他们发表了很多课程。例如:http://ocw.mit.edu/courses/#mathematics。
答案 3 :(得分:1)
GameDev.net是一个很好的资源,他们有一个数学和物理论坛,显然专注于游戏开发。
http://www.gamedev.net/community/forums/forum.asp?forum_id=20
答案 4 :(得分:1)
如果您想自学如何“理解”如何解决数学问题,请尝试这两本优秀的书籍,这些书籍只需要高中水平的数学技能:
http://www.amazon.com/How-Solve-Aspect-Mathematical-Method/dp/4871878309/ref=sr_1_1?ie=UTF8&s=books&qid=1284140178&sr=8-1
http://www.amazon.com/Mathematical-Discovery-Understanding-Learning-Teaching/dp/4871878317/ref=sr_1_6?ie=UTF8&s=books&qid=1284140178&sr=8-6
答案 5 :(得分:1)
游戏开发中最相关的“高级”数学是矩阵和矢量操作。这些被认为是线性代数的一部分。矩阵和向量是2D和3D图形和物理中使用的数据类型。矩阵通常表示对象的比例,方向和位置。向量通常表示空间中的点或该方向上的方向和大小。
非常熟悉这些概念及其操作对于任何游戏开发领域至关重要,即使您没有直接与它们进行交互。如果您触摸以任何物理方式交互的图形,动画,位置音频,碰撞检测/反应,物理或游戏对象,那么您将大量使用矩阵和向量。
唉,我发现在文学中找到实用的数学教学很困难。更常见的是,它并没有埋藏在理论层面。我喜欢被告知正确的4 x 4矩阵可以存储位置矢量和三个轴向量,表示对象的位置,方向和比例。答案 6 :(得分:0)
我认为大多数人给出的答案是“什么样的数学?”是最相关的。
Ars digita有一系列关于Discrete数学的讲座: http://aduni.org/courses/discrete/
或许你正在寻找物理学,而不是数学游戏,如果是这样的话,不久之前就出版了一本名为“物理学游戏程序员”的书。谷歌一下。它可能已经绝版,但你仍然可以在图书馆找到它。
或者您只是在谈论图形的三维几何图形,在这种情况下,您可能根本不想学习数学。只是DirectX和OpenGL(主要是OpenGL)。
答案 7 :(得分:0)
找出你需要知道的东西的最好方法是尝试做你想做的事情并看看它需要什么。
如果你能在任何程度上进行微积分,那么它会有所帮助。另一个答案提到线性代数和三角学,它们每天都很有用。虽然不知道你需要完成什么,但没有办法说出你需要知道什么,所以只需开始编程并找出你需要的东西!如果您需要某些特定方面的帮助,请向https://gamedev.stackexchange.com/提出问题。实际上,最近几个问题只需要三角学来解决。
答案 8 :(得分:0)
如果可以提供帮助,请不要购买任何书籍。相反,从网上下载书籍。如果你必须买(有些书是值得的),买二手(例如从abebooks)。教科书行业是一个骗局。
随着你在数学方面的进步,你自动也会更好地进行编程。
除了数学,你可能想学习一些物理 - 特别是基本力学。
祝你好运,玩得开心!