SharEDITor

智能游戏AI从基础到实战教程 二-游戏人工智能中的数学与物理学

大数据 智能游戏AI从基础到实战教程 发表于 2018-08-17 08:46:00 阅读322次


如果我们希望通过游戏来实践人工智能,那么对游戏领域了解必要的基础知识,最最基础的就是数学和物理学了,因为做过游戏的朋友都知道,游戏中的逻辑最根本的部分都是数学和物理学,本节我们来回顾一些校园里都学过的数学和物理学知识,看看你都忘掉了哪些

笛卡尔坐标系

这个名字你可能不太熟,但是看到下面这个图你应该很熟悉

 

这其实就是笛卡尔坐标系,一个x轴,一个y轴,都在一个平面上,这个平面一般叫做xy平面,所有二维的笛卡尔坐标系中的点都可以画在这个平面上,比如点:(x, y)

如果想表示三维空间,还需要增加一个z轴

 

毕达哥拉斯定理与三角函数

毕达哥拉斯定理又叫做勾股定理: h^2 = a^2 + b^2

在直角三角形中sin(θ) = 对边/斜边, cos(θ) = 邻边/斜边, tan(θ) = 对边/邻边

 

矢量

标量是没有方向的,矢量是有方向的,比如v = (x, y)这个矢量表示从原点出发沿x轴移动x个单位,沿y轴移动y个单位的一个即有大小又有方向的一个数学表达

矢量的计算有加减,但是乘法比较特殊,点乘是一种乘法,用符号·表示,点乘可以计算出两个矢量的夹角,公式为:u·v = |u| |v| cos(θ),所以cos(θ) = u·v / (|u| |v|)

使用点乘能够很容易地判断一个对象是位于智能体前面还是后面,如果对象在智能体前面则点乘为正,如果在后面则为负

 

局部空间和世界空间

这对应着游戏开发中常见的局部坐标系和世界坐标系,世界坐标系是相对于屏幕而言的全局坐标系,局部坐标是是相对于某一个物体而言的坐标系,比如在屏幕底部10%高度上绘制了一个状态栏,在状态栏左上角画一个小图标,那么这个小图标的世界坐标是相对于屏幕而言的,而局部坐标是相对于状态栏而言的,他们的数值不同,当然这两个坐标可以通过状态栏的世界坐标来做相互转换

 

加速度和牛顿第二定律

加速度表示速度变化的快慢,v = at + u

牛顿第二定律:a = F / m,即物体受力大小除以质量等于加速度,这常被用在游戏中的物体的运动情况的仿真,另外如果游戏中有模拟重力的物体,那么也是一样的规律,只不过这里的a就是重力加速度g

 

总结

游戏中要用到的数学和物理知识还有很多,上面仅仅列举了一些最基础的,后续我们再随着开发随着复习。

后一篇: 没有了