3d数学基础:图形和游戏开发(第2版)_游戏开发要学好哪些数学和物理知识?

游戏开发对数学物理知识的要求比普通开发高。

游戏开发中很多地方都需要用到数学物理知识,特别是一线游戏开发大厂对数学知识算法要求非常高。

那么,我们今天就来列举一些游戏开发中常用的数学物理知识。

01、向量与三角函数

日常游戏开发中经常用到的数学知识就是三角函数、反三角函数、向量、向量分解等。比如玩家控制角色沿着某个方向行走;如何给角色正确的速度大小与方向,就需要上面的数学知识。先用得到方向向量,根据方向向量利用向量分解,把大小分解到对应的方向上。根据向量,利用反三角函数算出角度,获得角色移动的朝向。

02、常用的几何函数与求解

例1: 编写代码实现控制一个角色绕某个点做圆周运动,就是一个典型的数学问题:已知圆心,半径,要实现物体的圆周运动。

圆的方程 (x-x0)^2 + (y-y0)^2 = R^2, 其中x0, y0为圆心坐标, R为半径

圆的参数方程: x = x0 + R * cos(a); y = y0 + R * sin(a),其中a为角度。如下图所示:

1fdda71db5bf979cff48ff622aa98302.png

了解完这个,写代码自然就有思路了:update不断的改变a的角度,带入公式算出x, y, 设置到新的节点即可。

例2:绘制一个抛物线的辅助轨迹出来,我们在编写设计类游戏的时候,经常需要绘制辅助轨迹,抛物线就是炮弹,篮球等最常用的轨迹,这就需要我们有抛物线的知识。

y = ax^2 + bx +c;

874fa858f2059151b9c77587de1c548a.png

例子3:扇形

以玩家为中心在身后某个扇形范围内,随机生成对应的物体。如图:

已知圆形,已知左边边界角度,右边变界角度,最大半径

R,要在扇形范围内随机生成一个物体。

16a996771276a7297601462daade5559.png

第1步:在[lhs, rhs]范围内随机生成一个角度,如上图红色的划线;

第2步:在[0, Rmax]内随机生成一个半径r;

第3步:带入圆形公式,求得位置。

例子4:直线方程与反射

台球游戏的时候,要做辅助线

ecdaf431a52b5e8b49e9e6c9b732801b.png

03、贝塞尔曲线编辑路径

多段贝塞尔曲线可以勾画出任意形状的曲线,所以在地图路径编辑时,贝塞尔曲线是非常好的工具。使用贝塞尔曲线编辑好每段路径后把路径点生成出来,就可以编辑地图上的任意路径曲线形状了。大部分路径编辑都是通过贝塞尔曲线来完成。

7f7f493cb6bf6ffd2591d1d698a19eaa.png

04、常见模拟的物理运动

匀速直线运动、匀变速直线运动、运动的合成,这些常见的物理运动在游戏开发中经常需要徒手就写出来。比如,一个物体移动的时候要慢慢地停下;抽奖时数字滚动后最终要慢慢地停下来,这些都涉及到物理运动的模拟与计算。

05、3D游戏开发中常用的高等数学

3D游戏开发中向量矩阵四元数法线点乘叉积是最常用的数学工具。

向量和2D差不多,只是多了一个维度,分解这些都是一样的。

矩阵其实就是数学工具,用来变化坐标的。3D里面矩阵有三种:平移、旋转、缩放,每个都可以是一个独立的矩阵,然后把这三个变化叠加在一起又是一个新的矩阵。比如,把模型A放大2倍后(缩放),放在世界的某个位置(平移),并朝向东北方向(旋转), 这样就把美术的模型变换到了世界中。这三个矩阵既可以分开又可以合并成一个矩阵,到时候每个模型点*这个矩阵,就把坐标变化到世界了。

四元数也是一个用来表示旋转很好的数学工具,以及它的原理这些。

超详细的学习路线免费获取​shimo.im

《超详细的学习路线免费获取》,可复制链接后用石墨文档 App 或小程序打开

06、图形图像学常用的数学知识

这里就不做过多详细讲解,我把程序员常用的初中高中数学知识点与大学知识点都列了出来,大家可以看下面的课程大纲。

fb128878c94c4d66e29506dc259685ce.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值