我理解sin
和cos
(以及其他一些三角函数)的含义,但我并没有真正得到他们解决的问题。当你在游戏开发中使用其中一些功能(特别是3D游戏开发)时,你能告诉我一些真实世界的例子吗?
感谢。
答案 0 :(得分:11)
在游戏开发中,有很多情况需要使用三角函数。编程游戏时,你经常需要做一些事情,比如找到两点之间的距离或者让一个物体移动。以下是一些例子:
旋转宇宙飞船或其他车辆
妥善处理从旋转武器射出的射弹轨迹
在台球或头等两个物体碰撞后计算新轨迹
确定两个物体之间是否发生碰撞
找到轨迹的角度(给定物体在x方向和y方向的速度)
这是different areas of Math required in various types of video game development的良好链接。
请查看以下链接以进一步阅读:
答案 1 :(得分: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);
它也可用于其他事物,例如:
答案 2 :(得分:5)
3D模型由顶点(三维空间中坐标对或三元组的数字列表)和连接它们的线条定义。这些线条可以渲染,点亮,纹理等表面。
为了旋转对象,您必须能够操纵这些顶点。如果你想要旋转一个物体的度数或弧度,你就可以使用三角函数来找出它结束的位置。
基本触发是游戏,模拟等所需的任何3D操作的基础。如果这些功能,它们的局限性以及它们如何应用于和放大几何的有用性,那么值得花时间研究并熟悉真正的意义,信号处理等。
这是一个很好的问题;大多数人只是点头,表现得很明显。除非你的名字是Blaise或Renee,否则它可能不是。
答案 3 :(得分:4)
一个示例触发函数用于旋转矩阵
例如
此矩阵用于围绕原点旋转x,y平面中的点。
|x'| = | cos a -sin a | | x |
|y'| | sin a cos a | | y |
答案 4 :(得分:3)
2D或3D空间中的游戏需要图形几何体。用于建模运动的物理引擎忠实地需要几何。 Trig是几何的基础。
采取像弹跳一样简单的事情。弹丸撞击墙壁和弹回的物理特性将很快使你相信触发功能的实用性。
答案 5 :(得分:3)
三角函数对于产生几乎所有曲线(如椭圆或圆圈)至关重要,因此在游戏开发中有很多用途。此外,正弦波对于perlin噪声和许多其他特殊效果非常有用。
答案 6 :(得分:3)
编写一个绘制和更新模拟时钟的程序。
这样做时遇到的问题应该能够解答您的问题。如果你对sin和cos有基本的了解,你应该能够使用它们来简化时钟绘制。
如果那不能给你答案,那就试着画出没有罪和cos的东西。
答案 7 :(得分:1)
嗯,一个瞬间浮现在我身上的应用程序,就是游戏中的特殊效果......说你有武器或咒语或能力,或者各种各样的效果,它会产生一束光......你可以玩数学来“塑造那个光束”......
同样地说,你有一个门户,你希望在激活或进入时播放一些整洁的动画,你可以玩矢量和旋转矩阵,你可以通过混合数学和想象力做很多惊人的事情...