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

Project1

 找回密码
 注册会员
搜索

求一个计算角度的算式。

查看数: 4410 | 评论数: 11 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-4-5 20:18

正文摘要:

本帖最后由 芯☆淡茹水 于 2018-4-5 20:44 编辑     咳~,本人的数学是体育老师教的.....,以前学的各X函数已经忘得差不多了。 最近想实现一个功能,遇到一个难题: 如下图: 已知两点 A 和 B ,以及 ...

回复

失落的乐章 发表于 2018-4-5 21:11:48
本帖最后由 失落的乐章 于 2018-4-5 22:30 编辑

直角三角形的第三点为 C(x1, y2)
AC = |y1 - y2|
BC = |x1 - x2|
∠BAC = arctan(BC / AC)

B 在 A 的右下方时,所求的角 = 180° - ∠BAC;
B 在 A 的右上方时,所求的角 = ∠BAC;
B 在 A 的左上方时,所求的角 = 360° - ∠BAC;
B 在 A 的左下方时,所求的角 = 180° + ∠BAC.
(数学水平不行,应该有更简便的方法。借回答这个问题的机会回忆了一下多年前学的数学知识,只能想起这么多了……)

评分

参与人数 2星屑 +70 +1 收起 理由
RyanBern + 70 学好数学很重要
芯☆淡茹水 + 1 数学水平反正比我好

查看全部评分

yanzhllwc 发表于 2019-12-25 17:01:32
这也太牛了吧、、、
myownroc 发表于 2018-4-6 15:44:15
如果只求[0, π]之间的夹角,直接向量点乘就好了;

如果求的是[0, 2π]之间的夹角,就需要用到向量叉乘了,比如这篇:https://blog.csdn.net/hy3316597/article/details/52732963

另外这是啥引擎?Cocos Creator?

点评

以前学的各函数快忘光了,专业术语看着头大,理解起来很费劲。  发表于 2018-4-6 16:24
-.-! MV...  发表于 2018-4-6 15:58

评分

参与人数 1+1 收起 理由
芯☆淡茹水 + 1 塞糖

查看全部评分

SailCat 发表于 2018-4-6 10:51:17
你的坐标系和RM的坐标系是不一样的,和平面直角坐标系就更不一样。
Math.atan2(y,x)返回的结果是基于平面直角坐标系的。而且值域是(-pi, pi]

如果你的(x1, y1), (x2,y2)是以RM的坐标系(左上角)为(0,0)的话
Math.atan2(y2-y1, x2-x1)得到的值是1/2pi-你那个角度的结果,因此

rad_angle = Math::PI / 2 - Math.atan2(y2 - y1, x2 - x1)
grd_angle = rad_angle / Math::PI * 180
grd_angle += 360 if grd_angle < 0
以上

评分

参与人数 1+1 收起 理由
芯☆淡茹水 + 1 精品文章

查看全部评分

chd114 发表于 2018-4-5 22:14:49
知道3个点和坐标系就能算了吧···
把点连起来得到两点间距离,然后就是楼上的方法了···

评分

参与人数 1+1 收起 理由
芯☆淡茹水 + 1 2点足够了,还想3点!

查看全部评分

guoxiaomi 发表于 2018-4-5 21:49:49
敲黑板,求角度要用 Math.atan2(y, x) 返回值是 -PI ~ +PI
  1. x, y = x1-x2, y1 - y2
  2. t = 1.5 * Math::PI - Math.atan2(y, x)
复制代码

点评

本来是准备算b点与水平方向的角,这个角a点处要求的角加起来是1.5pi  发表于 2018-4-6 10:57
怎么是1.5……应该是0.5  发表于 2018-4-6 10:52
这个 t 直接是角度? 0 ~ 360 ? 怎么感觉不对呢  发表于 2018-4-6 08:01

评分

参与人数 2+2 收起 理由
芯☆淡茹水 + 1 这个得先试试
失落的乐章 + 1 我很赞同

查看全部评分

刀光渴 发表于 2018-4-5 21:13:20
?=arctan(x2-x1/y2-y1)  【 y2=y1 时?=90 】
大概是这样吧。。。
但是不懂程序

评分

参与人数 1+1 收起 理由
芯☆淡茹水 + 1 除 0 了呢

查看全部评分

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

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

GMT+8, 2024-9-20 23:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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