我明白
谢谢。
sin
和cos
(以及其他一些三角函数)的含义,但我不太明白它们解决什么问题。您能否向我展示在游戏开发(特别是3D游戏开发)中使用这些函数的一些真实世界示例?谢谢。
sin
和cos
(以及其他一些三角函数)的含义,但我不太明白它们解决什么问题。您能否向我展示在游戏开发(特别是3D游戏开发)中使用这些函数的一些真实世界示例?在游戏开发中,有很多情况需要使用三角函数。编写游戏时,通常需要执行一些操作,例如查找两个点之间的距离或使对象移动。以下是一些示例:
旋转飞船或其他车辆
正确处理从旋转武器射出的弹道
在两个物体(如台球或头部)碰撞后计算新的弹道
确定两个物体之间是否发生碰撞
查找弹道角度(给定物体在x方向和y方向上的速度)
这里有一个好链接不同类型的视频游戏开发所需的数学领域。
请查看以下链接以获取更多信息:
三角学最明显的用途是使物体朝着任意方向移动,没有三角学这是不可能的。
//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);
它还被用于其他方面,例如:
三角函数的一个应用是在旋转矩阵中。
例如:
这个矩阵被用来围绕原点旋转x,y平面上的一个点。
|x'| = | cos a -sin a | | x |
|y'| | sin a cos a | | y |
2D或3D空间中的游戏需要几何图形进行图形处理。模拟运动的物理引擎需要几何图形。三角函数是几何学的基础。
以弹跳为例。一个抛射物体撞到墙上并反弹的物理过程很快就能让你意识到三角函数的实用性。
三角学对于制作几乎所有曲线(如椭圆或圆)至关重要,因此在游戏开发中有许多用途。此外,正弦波对于Perlin噪声和许多其他特效非常有用。
编写一个程序来绘制和更新模拟时钟。
在此过程中遇到的问题应该能够回答你的问题。如果你有基本的正弦和余弦理解,你应该能够使用它们使时钟绘制变得非常容易。
如果这不能回答你的问题,请尝试不使用正弦和余弦来绘制它。
我首先想到的应用是在游戏中使用特效...比如说你有一种武器、法术或能力,或者一种效果,可以制造出一束光束...你可以通过数学来“塑造这束光束”...
同样地,假设你有一个传送门,你希望在激活或进入时播放一些炫酷的动画,你可以玩弄向量和旋转矩阵,通过混合数学和想象力,你可以做出许多惊人的事情...