游戏中向量与角度的转换(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:把得到的角度转回向量

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 变换(Transformations) 我们可以尝试着在每一帧改变物体的顶点并且重设缓冲区从而使他们移动,但这太繁...
    IceMJ阅读 4,245评论 0 1
  • 本章主要解决这个问题: 如何对物体进行位置变换? 想要操作物体的位置,我们就要使用数学工具对其位置进行计算。先来看...
    闪电的蓝熊猫阅读 11,125评论 15 13
  • Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Laye...
    小猫仔阅读 3,862评论 1 4
  • 有人会问:难道美丽不该高大上吗?难道美丽不是完美无缺的吗? 黄金无足色,白璧有微瑕。何况大家都是吃五谷杂粮长大的,...
    唐小宫阅读 346评论 0 3
  • 昨晚同学聚会,聊着聊着,最终还是聊到待遇和挣钱问题,宋培说他们家电动车旺季有几万块的利润,李遇杰他是绿润电动车的柳...
    smile石迈阅读 348评论 0 0