Math 从哪里开始学习数学游戏编程的数学新手?

Math 从哪里开始学习数学游戏编程的数学新手?,math,Math,我对编程并不陌生,但我对游戏编程是新手。创造游戏一直是我的梦想,现在我21岁了,我觉得现在开始比以后开始更好 在过去,我在数学方面没有问题,但我确实有一种持续的感觉,我可以解决问题,但不理解发生了什么 “我为什么要这样做?它到底解决了什么问题?” 如果我想开始学习游戏编程的数学,我应该从哪里开始 编辑:有些人问我在找哪种数学,但说实话,我甚至不知道。我是个十足的数学新手。我在大学上过微积分课,但正如我所说,我只是解决了它们,但不知道为什么或如何解决。线性代数和三角学可能是图形编程中最重要的。这包

我对编程并不陌生,但我对游戏编程是新手。创造游戏一直是我的梦想,现在我21岁了,我觉得现在开始比以后开始更好

在过去,我在数学方面没有问题,但我确实有一种持续的感觉,我可以解决问题,但不理解发生了什么

“我为什么要这样做?它到底解决了什么问题?”

如果我想开始学习游戏编程的数学,我应该从哪里开始


编辑:有些人问我在找哪种数学,但说实话,我甚至不知道。我是个十足的数学新手。我在大学上过微积分课,但正如我所说,我只是解决了它们,但不知道为什么或如何解决。

线性代数和三角学可能是图形编程中最重要的。这包括矩阵/向量、点积和四元数。在物理学领域,这将是力学和光,它们使用三角。除此之外,图书馆的存在是为了处理大多数高级数学问题。

如果你有时间阅读,我推荐开源物理和数学教科书。线性代数也很重要——我喜欢斯特兰斯的教科书。不过,这两种资源都没有特定的游戏焦点。

不要忘记,如果你有特定的数学问题要解决


如果你发现你需要一个特定的项目,如线性代数,谷歌“开放式课件”+“主题”。你会发现美国的麻省理工学院在这方面做得很好——他们出版了很多课程。例如:.

我认为大多数人给出的答案(即“什么样的数学?”是最相关的

Ars digita举办了一系列离散数学讲座:

或者也许你在寻找物理,而不是游戏的数学,如果是这样的话,那么不久前出版了一本书,叫做《游戏程序员的物理》。谷歌。它可能已经绝版了,但你仍然可以在图书馆找到它


或者你只是在谈论三维几何图形,在这种情况下,你可能根本不想学数学。只有DirectX和OpenGL(主要是OpenGL)。

GameDev.net是一个很好的资源,他们有一个数学和物理论坛,显然专注于游戏开发


了解你需要知道的最好方法是尝试做你想做的事情,看看它需要什么


如果你能做任何程度的微积分,那么它都会有帮助。另一个答案提到了线性代数和三角学,它们每天都很有用。如果你不知道你需要完成什么,就无法说出你需要知道什么,所以只要开始编程并找出你需要的!如果你在某些特定的事情上需要帮助,可以向对方提问。事实上,最近有几个问题只需要三角学就可以解决。

如果你想教自己如何“理解”如何解决数学问题,试试这两本好书,它们只需要高中水平的数学技能:



如果你能帮忙的话,不要买任何书。相反,从网上下载书籍。如果你不得不买(有些书值得买),那就买二手书(比如从书上买)。教科书行业是一个骗局

  • 在数学方面,你至少需要了解基本几何和线性代数
  • 对微积分有一些了解会很有帮助
  • 一些统计数据并没有什么坏处
  • 上述四门课程通常在大学一年级教授(即在北美)。它们并不难。一个在数学方面没有绝望的坚定的人可以在一个夏天的课程中学习欧几里德几何、线性代数、微积分和统计学的基础知识,而不必过度劳累(每天2-3小时)
  • 数值分析与计算密切相关。学习数值分析需要精通线性代数
当你数学学得更好时,你自然也会在编程方面学得更好

除了数学,你可能还想学一些物理,尤其是基础力学

祝你好运,玩得开心

游戏开发中最相关的“高级”数学是矩阵和向量操作。这些被认为是线性代数的一部分。矩阵和向量是2D和3D图形和物理中使用的数据类型。矩阵通常表示对象的比例、方向和位置。矢量通常表示空间中的一点或该方向上的方向和大小

对这些概念及其操作的非常熟悉对于游戏开发的任何领域都是至关重要的,即使你没有直接与它们交互。如果您触摸图形、动画、位置音频、碰撞检测/反应、物理或以任何物理方式交互的游戏对象,那么您将大量使用矩阵和向量


唉,我发现在文学作品中很难找到数学的实践教学。更经常的是,它被隐藏在理论的层面之下。我喜欢有人告诉我,4x4矩阵可以存储一个位置向量和三个轴向量,代表一个对象的位置、方向和比例。

“游戏编程的数学”是一个巨大的主题,首先我建议缩小你的兴趣范围。数学难题?物理模拟?3D图形?非常有野心。Good luck@Sergio这里有一些我或我认识的人发现有用的好书:实时渲染、图形和游戏开发的3D数学入门,以及3D游戏编程和计算机图形的数学。你可以在亚马逊上找到它们中的大部分。