设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 芯☆淡茹水
打印 上一主题 下一主题

[已经解决] 求一个计算角度的算式。

[复制链接]

Lv5.捕梦者

梦石
0
星屑
32025
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

跳转到指定楼层
1
发表于 2018-4-5 20:18:10 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 芯☆淡茹水 于 2018-4-5 20:44 编辑

    咳~,本人的数学是体育老师教的.....,以前学的各X函数已经忘得差不多了。

最近想实现一个功能,遇到一个难题:

如下图:
已知两点 A 和 B ,以及其坐标 A(x1,y1) , B(X2,Y2)  ,以正上方(12点方向)为 0 度,顺时针,求图中 ? 号的角度。
也就是 A 面向 B 时,以12点方向为基准, A 的角度。 当然 B 也可能在 360 度的任意位置。




例如比较简单的: x2 > x1 and y2 == y1  , 那么此时是 90 度。
xp vx va mv  va mz 各类型脚本/插件定制

Lv5.捕梦者

梦石
0
星屑
32025
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

2
 楼主| 发表于 2018-4-6 13:01:28 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2018-4-6 13:22 编辑
SailCat 发表于 2018-4-6 10:51
你的坐标系和RM的坐标系是不一样的,和平面直角坐标系就更不一样。
Math.atan2(y,x)返回的结果是基于平面直 ...



     唔~,这种方法试验是最接近的,弄了个简单的测试。

把发射的导弹作为 A 点,目标作为 B 点。
导弹图片是这样的,初始正上方, 0 度。


然后加入“发射”,  发射时初始 270或90 度 ±45 度,有一段不“指向”目标的时间(直接保持方向飞),过后随时根据角度算式“指向”目标。
目标为 对面飞船 的中心坐标。根据导弹自身方向的X,Y移动量已经写好,然后加入角度算式:


结果测试是酱紫:
到了快接近目标时,有些像是在画圆。



电脑开录屏就有些卡。

如果初始就指向目标中心, 运动轨迹是这样:
感觉好像什么东西刚好反了。



点评

这个图让我想到贴吧那张用枪射出的子弹轨迹描述各种游戏的图了···  发表于 2018-4-6 13:25
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32025
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

3
 楼主| 发表于 2018-4-6 21:31:31 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2018-4-6 21:36 编辑

    唉~,还是老老实实,中规中矩的用了 4L 的办法,再结合 8L 实际角度换算,把它做了出来。
先把直线上的角度优先剔出来判断,以免后面运算又出什么幺蛾子。






xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 12:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表