【发布时间】:2017-09-12 21:09:57
【问题描述】:
我想计算三角形列表的每个单独的重心(质心)。到目前为止,我已经设法写了这么多:
function Triangle_Source_Centroid(V_Epoch0, F_Epoch0)
for i = 1:length(F_Epoch0)
Centroid_X = F_Epoch0(V_Epoch0(:,1),1) + F_Epoch0(V_Epoch0(:,1),2) + F_Epoch0(V_Epoch0(:,1),3);
Centroid_Y = F_Epoch0(V_Epoch0(:,2),1) + F_Epoch0(V_Epoch0(:,2),2) + F_Epoch0(V_Epoch0(:,2),3);
Centroid_Z = F_Epoch0(V_Epoch0(:,3),1) + F_Epoch0(V_Epoch0(:,3),2) + F_Epoch0(V_Epoch0(:,3),3);
Triangle_Centroid = [Centroid_X; Centroid_Y; Centroid_Z];
end
end
它不起作用,只会给我一条错误消息:
Subscript indices must either be real positive integers or logicals.
【问题讨论】:
-
第一步:检查
V_Epoch0中的零。 -
检查零是什么意思? V_Epoch0 包含每个顶点的坐标
-
你的问题。您将它用作
F_Epoch0的索引。索引必须是正整数。 -
上述语句理论上应该经过F_Epoch0(包含所有三角形参与点),然后从V_Epoch0中拉取特定点的坐标,这样最终得到(p1x + p2x + p3x)/ 3; y 和 z 相同,这必须发生在 F_Epoch0 中的所有三角形
-
@AlanDeMoin 考虑接受对您有帮助的答案,方法是单击左侧箭头下方的绿色勾号。