[英]Find the point on a curve which is closest to a given point
这是计算成对距离的有效函数:
function D = sqDistance(X, Y)
D = bsxfun(@plus,dot(X,X,1)',dot(Y,Y,1))-2*(X'*Y);
end
假设circles
是黑色圆圈和坐标squares
如你所说,你可以做以下的黄色方格坐标:
% example matrices
circles = rand(5,2);
squares = rand(8,2);
D = sqDistance(squares', circles');
[~,idx] = sort(D, 2)
closest_points = circles(idx(:,1),:)
closest_points
的点与squares
具有相同的尺寸,并为每个黄色正方形存储最近的圆的坐标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.