Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 求两条样条曲线之间的最小距离_Matlab_Spline - Fatal编程技术网

Matlab 求两条样条曲线之间的最小距离

Matlab 求两条样条曲线之间的最小距离,matlab,spline,Matlab,Spline,我有两个由MATLAB生成的3d样条线: curve1 = cscvn([0 .5 0; 0 .5 0; 0 .5 1]) curve2 = cscvn([.5 .2 .5; 2 1 0; .1 2 1]); 我想找到曲线1上任意点到曲线2上任意点之间的最小可能距离 谢谢, James两条参数曲线C1(t)和C2(s)之间的最小距离可能发生在其内部或端点处。如果发生在内部,将满足以下条件: C1’(t)\dot(C1(t)-C2(s))=0 C2’(s)\dot(C1(t)-C2(s))=0

我有两个由MATLAB生成的3d样条线:

curve1 = cscvn([0 .5 0; 0 .5 0; 0 .5 1])
curve2 = cscvn([.5 .2 .5; 2 1 0; .1 2 1]);
我想找到曲线1上任意点到曲线2上任意点之间的最小可能距离

谢谢,
James

两条参数曲线C1(t)和C2(s)之间的最小距离可能发生在其内部或端点处。如果发生在内部,将满足以下条件:

C1’(t)\dot(C1(t)-C2(s))=0
C2’(s)\dot(C1(t)-C2(s))=0

这意味着当最小距离发生在t0和s0时,C1(t0)处的切向量和C2(s0)处的切向量都垂直于由C1(t0)和C2(s0)定义的向量。通常,可以使用多元牛顿-拉斐逊方法来获得参数t0和s0。如果你找到了解决方案,你可以找到最小距离

请注意,上述两个方程仍然适用于局部最大值。因此,您将始终需要将获得的“最小距离”与端点之间的距离进行比较。

如何表述您的问题。