【C#】求目标Vector2向量与Vector2.Right方向上的夹角 θ

第1步、求出 tan θ 的值

① 将目标向量 归一化为 单位向量

② 将单位向量 的 Y值 / X值,就能得到 tan θ

**知识点:**通过观察单位圆上坐标点,能方便知道某角度的正弦余弦值 。

想象一个 半径为1的圆,圆心在坐标原点(0,0)。

  1. 起点:从圆上最右边的点(1,0)开始。

  2. 旋转 :从这个点开始,逆时针转动一个角度(比如30度、120度、400度都行)。停下来的位置,在圆上有一个点。

  3. 看坐标 :这个停下来的点的坐标就是 (cosθ, sinθ)。

    • x坐标 = cosθ(余弦)

    • y坐标 = sinθ(正弦)


知识点:tanθ (正切) = sinθ / cosθ


第2步、分析 tan θ 的值,推算出 θ

Y = tanX 函数图

2.1 通过 Atan(反正切)求出 θ 是否可行?

从函数图可以看出:

C# 的Atan(反正切)函数 也确实也只返回一个数值,但这是因为:


2.2 正确的方法 Atan2 :

Atan2(y, x) 直接根据点的 直角坐标 (x, y) 来计算该点与原点连线相对于正X轴的角度,自动处理了所有象限和特殊边界情况。

函数签名:

返回值单位

  • 返回的是弧度值

  • 如需角度,需要转换:角度 = 弧度 * 180 / π

为什么有 atan2 没有 asin2/acos2?

  • 因为 tan(θ) = y/x 中,比值 y/x 会完全丢失符号信息(例如 1/1 和 (-1)/(-1) 都是 1),无法判断象限。

  • 而 sin(θ) = y/r 和 cos(θ) = x/r 中,至少还能保留一个符号信息(y 或 x 的符号)。

  1. atan2 的本质作用

    • 它是一个专门从直角坐标 (x, y) 计算角度的"完全版"函数。

    • 它同时利用 x 和 y 的符号,直接给出正确象限的角度。

    • 范围是 (-π, π],覆盖全方向。

  2. 其他反三角不需要"2"版本的原因

    • asin(y) 和 acos(x) 已经有明确的主值区间 (分别是 [-π/2, π/2] 和 [0, π])。

    • 它们丢失的信息可以用 atan2 完美替代,没必要再造新函数。

    • 实际上:asin(y/r) 或 acos(x/r) 经过象限调整后,结果就等于 atan2(y, x)。

一句话总结 :atan2 是专门为"从坐标到角度"这个任务设计的终极工具,其他反三角函数通过主值区间已经足够定义,且都能用 atan2 替代实现。




相关推荐
Zootopia6264 天前
论文复现|五机编队任务链
c语言·c++·考研·无人机·创业创新·学习方法·高考
诗词在线4 天前
兴亡千古繁华梦,诗眼倦天涯。人月圆・山中书事张可久|松花酿酒,春水煎茶,这人间值得你慢下来。
高考
诗词在线7 天前
昨夜西风凋碧树,独上高楼,望尽天涯路|蝶恋花・槛菊愁烟兰泣露【宋】晏殊|人生最通透的孤独,是看尽繁华后的清醒
高考
协皓家具7 天前
2026年佛山顺德高脚凳厂名声如何炼成
高考
皮皮学姐分享-ppx12 天前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
搜词研究员1 个月前
# 德立教育和达德教育哪个好?学历提升选哪家?
考研·职场和发展·学习方法·高考
单词记忆方法研究1 个月前
高考英语词汇记忆策略全解析
高考
单词记忆方法研究2 个月前
高考英语词汇与背单词技巧深度解析
高考
火眼金睛炼单词2 个月前
高考英语词汇与六级英语词汇记忆策略
高考
2601_963870212 个月前
【计算机毕业设计】基于Spring Boot+Vue的高考志愿填报系统的设计与实现
spring boot·课程设计·高考