gpt4 book ai didi

c++ - 如何计算远离圆周上一点的固定弧长的 (x,y)

转载 作者:可可西里 更新时间:2023-11-01 16:39:03 24 4
gpt4 key购买 nike

我在这上面花了很多时间,我能感觉到我的理智在慢慢下滑。因此,我们将不胜感激任何帮助。我会尽量简洁。

我在二维平面上有一个圆。我知道它的中心点 (C) 和半径 (R) 的笛卡尔坐标。

我的困惑源于这个问题。当在圆外的平面上设置一个点时;我可以计算圆周上最接近该点的点 (P)。

我想做的是确定圆周上2个点的(x,y)坐标。我们称它们为 P1 和 P2。 P1和P2是弧的两端。圆弧具有固定长度 (X)。 P 是 P1 和 P2 之间的中点。因此,P到P1和P到P2的弧长都是X/2。

简而言之:给定 C、R、P、X;我需要计算 P1 和 P2。

我正在尝试用 C++ 对此进行编码,但任何建议或伪代码都会很棒。

编辑:X是弧长,不是P1和P2之间的直线

最佳答案

在圆上,角度 theta 对应于 theta * R 的弧长,这意味着您的弧将对着 theta = X/R 的角度。所以如果从你的观点开始

P = C + R * (sin(u), cos(u))

然后通过 theta/2 向上/向下移动:

P1 = C + R * (sin(u + theta/2), cos(u + theta/2))

P2 = C + R * (sin(u - theta/2), cos(u - theta/2))

关于c++ - 如何计算远离圆周上一点的固定弧长的 (x,y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111045/

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