微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Eigen 如何在不循环的情况下从三角形网格法线中找到所有共面的面

如何解决Eigen 如何在不循环的情况下从三角形网格法线中找到所有共面的面

我有一个网格大部分是平面的我想通过使用法线找到所有共面的面。我将通过找到指向同一方向的所有法线来解决这个问题;也就是说,通过点积检查容差内的所有共线法向量。 但这意味着我必须通过循环检查每个向量。

var
   a,b,x,y,n:integer;
begin
   readln(a,y);
   if a<b and x<y then n:=a+y;
   if a<b and x>y then n:=a+y;
   if a>b and x<y then n:=b+x;
   if a>b and x>y then n:=b+x;
   writeln(n);
end.

因此我的问题是:有没有更好的方法来检查一组向量的共线性,在 Eigen 中以更紧凑的方式一起检查而不循环?

编辑:假设网格大部分是平面的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。