游戏中向量与角度的转换(2d)
有两个点,求一个点转向另一个点的角度。比如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:把得到的角度转回向量
以上是一些简单实用的转换,如果需要更加复杂的转换请自行学习三角函数(作者初中没毕业看一个多小时就学会了)
点击这里可以看到作者的其他文章