游戏中向量与角度的转换(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:把得到的角度转回向量
以上是一些简单实用的转换,如果需要更加复杂的转换请自行学习三角函数(作者初中没毕业看一个多小时就学会了)
欢迎转载,转载请标明出处