计算最大、最小直径的质心polyshape (irregula rpolygon)从一个点集
8视图(30天)
显示旧的评论
接受的答案
马特·J
2022年9月8日
编辑:马特·J
2022年9月8日
如果min和max feret直径是你想要的,然后一个方法是,
pgon = nsidedpoly (4“半径”,0.5);%输入polyshape
有趣= @(θ)feretDiam (pgon.Verticesθ);
θ= linspace(π-π,1 e4);
%最小直径
[~,i0] = min(乐趣(θ));
[thetamin, minDiam] = fminsearch (@ (t)乐趣(t)θ(钱数));
minDiam
%最大直径
[~,i0] = max(乐趣(θ));
[thetamax, maxDiam] = fminsearch (@ (t)乐趣(t)θ(钱数));
maxDiam = -maxDiam
函数d = feretDiam (V,θ)
[p = V * cos(θ);罪(θ)];
d = max (p,[], 1)最小(p, [], 1);
结束