我有许多不与全局轴对齐的实体对象的(x,y,z)数据点。数据点仅可用于实体对象的末端部分,由于实验限制,不适用于中间部分。我的任务是首先将每个实体对象的中心线与全局轴对齐,然后比较这些实体。我也可以分别找到两端的中心线。我读过有关使用特征向量查找主轴的方法,但我并未找到中心线。
如何找到这种物体的纵向中心线?
整个洋红色的最大特征向量
红色和黄色(分开的部分的最大特征向量)
r=cov(data); data=DTPT (86043×3)
[vec,val]=eig(r);
plot3(data(:,1),data(:,2),data(:,3),'.','markersize',1)
mu=mean(data);
d = sqrt(diag(val));
hold on;
quiver3(mu(1),mu(2),mu(3),2*vec(1,3),2*vec(2,3),2*vec(3,3), d(3), 'm','LineWidth',5);
quiver3(mu(1),mu(2),mu(3),-2*vec(1,3),-2*vec(2,3),-2*vec(3,3), d(3), 'm', 'LineWidth',5);
hold off;
indDT=1:37768;
data1=data(indDT,:);
[v,l]=eig(cov(data1));
mu=mean(data1);
d = sqrt(diag(l));
hold on;
quiver3(mu(1),mu(2),mu(3),3*v(1,3),3*v(2,3),3*v(3,3),d(3), 'r', 'LineWidth',5);
quiver3(mu(1),mu(2),mu(3),-3*v(1,3),-3*v(2,3),-3*v(3,3),d(3),'r','LineWidth',5);
hold off;
indPT=37769:86043;
data2=data(indPT,:);
[v,l]=eig(cov(data2));
mu=mean(data2);
d = sqrt(diag(l));
hold on;
quiver3(mu(1),mu(2),mu(3),3*v(1,3),3*v(2,3),3*v(3,3),d(3), 'y','LineWidth',5);
quiver3(mu(1),mu(2),mu(3),-3*v(1,3),-3*v(2,3),-3*v(3,3),d(3),'y','LineWidth',5);
hold off;