如何使用Matlab在空间中的两个点之间连接固定长度的曲线?

时间:2009-02-16 03:43:33

标签: matlab

我们在3d空间中有两个点(x1,y1,z1)和(x2,y2,z2)。我们有一条固定长度的曲线,它们将在这些点之间连接(不是直线)。如何在Matlab中继续使用代码?

2 个答案:

答案 0 :(得分:1)

在不知道你尝试使用蛇的程度(即活动轮廓)的情况下,我能做的最好的就是建议这些链接:

我遇到的大多数活动轮廓应用似乎更适合二维图像分割,但希望这些链接能为您提供一些跳跃点。

答案 1 :(得分:1)

如果您试图最小化机器人关节处的弯曲角度,那么最佳曲线将是圆弧。

设L是弧的长度,d是端点之间的距离,θ是弧的角度,r是弧的半径。然后:

d / L = sin(theta)/ theta ==>使用Matlab的求解器

以数字方式解决这个问题

一旦你有theta,弧的半径为:r = L /(2 * theta)

这两个端点之间仍有无数个弧与此r和theta。您必须使用其他一些标准来选择要使用的点的滚动角度。