美文网首页程序改变世界程序员
游戏中向量与角度的转换(2d)

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

作者: 齊葩 | 来源:发表于2017-03-18 20:22 被阅读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:把得到的角度转回向量

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

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

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

    相关文章

      网友评论

        本文标题:游戏中向量与角度的转换(2d)

        本文链接:https://www.haomeiwen.com/subject/nsddnttx.html