三角学和游戏开发

Alo*_*kin 8 3d trigonometry

我理解什么sincos(和其他一些三角函数)意味着什么,但我真的不知道他们解决了什么样的问题.当你在游戏开发(特别是3D游戏开发)中使用这些功能时,你能告诉我一些真实世界的例子吗?

谢谢.

小智 11

在游戏开发中,有很多情况需要使用三角函数.编程游戏时,您经常需要做一些事情,比如找到两点之间的距离或者让一个物体移动.这里有一些例子:

  • 旋转飞船或其他车辆

  • 正确处理从旋转武器射出的射弹轨迹

  • 在台球或头等两个物体碰撞后计算新的轨迹

  • 确定两个对象之间是否发生冲突

  • 找到轨迹的角度(给定物体在x方向和y方向上的速度)

这里是各种类型的视频游戏开发所需的不同数学领域的良好链接.

请查看以下链接以进一步阅读:


Ran*_*Dev 7

三角学最明显的用途是让物体在任何给定方向上移动,没有三角学,这是不可能的.

//Example code, will move the object speed units in the given direction (degrees)
d2r = pi / 180; //Conversion from degrees to radians
this.x += speed * cos (direction * d2r);
this.y += speed *-sin (direction * d2r);
Run Code Online (Sandbox Code Playgroud)

它还用于其他事物,例如:

  • 在2d精灵上执行转换以创建旋转.
  • 在投影三维视图时使用非常广泛.
  • 由于正弦波的形状,它可用于在2个值之间创建平滑过渡.
  • 为音频合成创建正弦波.
  • 绘制圆形物体,如圆形和球形.
  • 确定枢轴臂上的点的位置.


3Da*_*ave 5

3D模型由顶点(3D空间中的坐标对或三元组的数字列表)和连接它们的线定义.这些线条可以渲染,点亮,纹理等表面.

为了旋转对象,您必须能够操纵这些顶点.如果你想要旋转一个物体的度数或弧度,你就可以使用三角函数来找出它结束的位置.

基本触发是游戏,模拟等所需的任何3D操作的基础.如果这些功能,它们的局限性,以及它们如何应用和放大几何,信号处理的有用性,那么值得花时间研究并熟悉真正的意义.等等

这是一个很好的问题; 大多数人只是点头,表现得很明显.除非你的名字是Blaise或Renee,否则它可能不是.