程序改变世界程序员

游戏中向量与角度的转换(2d)

2017-03-18  本文已影响181人  齊葩

有两个点,求一个点转向另一个点的角度。比如A转向B

1:先求出弧度(为什么先求弧度不直接求角度呢?因为很多语言的数学库提供的方法都是弧度制的,你也可以自己写一个角度制的。没人拦着你)  atan((B.y-A.y)/(A.x-B.x)) 这个三角函数返回的是弧度

2:我们再把上面的弧度转成角度。  角度 = 弧度*180.0f/PI  有的语言可能提供了这个方法直接用就行了。

我们知道一个角度,求这个角度的向量

1:先把角度转成弧度,原因同上。弧度 = 角度*PI/180.0f

2:用刚才的弧度  x = cos(弧度)  y = sin(弧度)

我们知道一个向量,求他的角度

1: 还是先求弧度 tan(y/x)

2:在把弧度转成角度 角度 = 弧度*180.0f/PI

求一个圆上的点,比如角度为A的点

1:请看上面的角度转向量

2:直接用这个向量*半径(x = x*半径,y = y*半径)

旋转一个向量

1:把向量转换成角度

2:用这个角度与需要旋转的角度相加

3:把得到的角度转回向量

以上是一些简单实用的转换,如果需要更加复杂的转换请自行学习三角函数(作者初中没毕业看一个多小时就学会了)

点击这里可以看到作者的其他文章

欢迎转载,转载请标明出处

上一篇下一篇

猜你喜欢

热点阅读