gpt4 book ai didi

c# - 如何计算通过 3 个点的循环弧并在 3d 中将其参数化为 0..1

转载 作者:太空狗 更新时间:2023-10-30 01:24:00 24 4
gpt4 key购买 nike

如何在 3d 中计算通过 3 个点 A、B、C 的弧。从 A 到 C 传递 B(顺序已处理)。

大多数机器人 ARM 都有这种移动命令。我需要模拟它并对其应用不同的速度动态,因此需要一个参数 0..1 将位置从 A 移动到 C。

编辑:

我拥有的是圆弧的半径和中心,但是如果我知道起点和终点角度,我如何在 3d 中参数化圆?

编辑2:

越来越近了。如果我在圆所在的平面上有两个单位长度的垂直向量 v1 和 v2,我可以进行如下参数化:x(t) = c + r * cos(t) * v1 + r * sin(t) * v2

所以我取 v1 = a-c,我现在只需要找到 v2。有什么想法吗?

最佳答案

Martin Doms 最近写道 a blog entry about splines and bezier curves你可能会觉得有用。

他的部分帖子描述了如何获得由三个控制点 P0、P1 和 P2 定义的二维曲线.曲线由值 t 参数化,范围从 0 到 1:

F(t) = (1-t)2 P0 + 2t (1-t) P1 + t2 P2

您似乎可以稍微考虑一下将其适应 3D。 (当然,贝塞尔曲线不一定通过控制点。如果这对您来说是一个交易破坏者,这可能不起作用。)

顺便说一句,Jason Davies 将 a nice little animation of curve interpolation 放在一起.

关于c# - 如何计算通过 3 个点的循环弧并在 3d 中将其参数化为 0..1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10550874/

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