gpt4 book ai didi

algorithm - 从 x,y 坐标计算角度

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:02 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Circle line collision detection

我正在尝试在有限线段和弧段之间进行碰撞测试。我有一个线段与线段的碰撞测试,所以我打算用线段来近似这些弧段并运行我现有的测试。

我定义弧段的数据是三个点。其中两个是圆周上的端点,第三个点是圆的圆心。

到目前为止,这是我得到的:

设 (a,b) 为圆心,'r' 为圆半径,(x1, y1), (x2, y2) 为位于圆上的圆弧段的端点圆的周长。

以下参数方程给出了弧的 x 和 y 位置。 't' 是参数变量。

x = a + r * 余弦(t)y = b + r * sin(t)

为了从圆弧创建线段,我想沿着圆弧走一些固定的“t”比率,沿途创建线段,直到我到达圆弧的末端。为此,我想我必须找到开始和结束角度。我将从起始角度开始走弧线,并在结束角度结束。因为我知道起点和终点,所以我想我可以使用这些方程来求解这些角度。以下是我的方程式:

t = arccos((x-a)/r)

t = acrcsin((y-b)/r)

我遇到的问题是这些函数 ( http://en.wikipedia.org/wiki/Inverse_trigonometric_function ) 返回的值的范围是有限的,所以很可能不会返回我正在寻找的角度,因为这些函数是多值的: arcsin(0) = 0,还有 arcsin(0) = π, arcsin(0) = 2π, 等等

如何获得我正在寻找的准确角度?或者,您能想出更好/不同的方法来实现我的目标吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com