游戏开发中常用的数学物理知识有哪些?

开课吧开课吧锤锤2021-06-02 14:06

    开发游戏其实除了对写程序代码要求高,还有对数学物理知识的要求更高,很多游戏中都运用着数学物理知识,尤其是一线的游戏开发公司。那么今天我们就来聊一聊游戏中需要的数学物理知识。

c

    01、向量与三角函数

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

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

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

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

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

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

    03、贝塞尔曲线编辑路径

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

    04、常见模拟的物理运动

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

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

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

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

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

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

    点击下方图片免费领取课程

c

    以上就是小编为大家整理准备的“游戏开发中常用的数学物理知识有哪些?”一文,更多C++教程尽在开课吧广场C++教程频道

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
算法刷题核心能力提升营