问题标签 [libigl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
213 浏览

python - 尝试使用环境光遮挡从网格中移除外表面 | 光线追踪

我已经将多个 stl 文件合并到一个大网格中,现在我正在尝试删除内部的所有面。

我得到了使用环境光遮蔽并移除低于某个亮度阈值的所有面部的提示。

所以我开始使用具有环境光遮蔽功能的libigl。我想出了这段代码:

当在 20*20*20mm 立方体上使用此代码时,它是 8 个 10*10*10mm 立方体的组合,我得到了这个结果

不幸的是,它不仅检测到明亮的外表面。

我将原始 stl 文件与以下代码结合起来:

(它只是将 8 个 10*10*10mm 的立方体并排放置)

你可以在这里找到一个组合的 stl (它是 20*20*20mm 立方体)

所以你知道为什么环境光遮蔽功能检测到内面是明亮的(或者我如何调整它以便它只检测到外面是明亮的)或者任何可以帮助我检测到内面或外面的东西,这样我就可以保持或删除它们,最后我会只剩下外表面吗?

0 投票
0 回答
110 浏览

c++ - 将矩形的旋转矩阵从中心更改为角

我正在尝试围绕其中一个角旋转一个矩形,但我只能围绕中心进行。我将 Eigen 与 libigl 一起使用。我的代码:

igl::rotation_matrix_from_directions默认情况下围绕其中心旋转 V。现在,一旦我有了旋转矩阵 RM,我想对其进行变换,以便围绕右下角旋转矩形。可能吗?谢谢你。

0 投票
1 回答
520 浏览

mesh - 是否有任何 C++ 库(用于 Linux)用于修复非流形网格并将其转换为流形几何?

我有一种算法的分割结果,但是,生成的三角形表面不是流形几何。我在这里问这个问题是否有任何 C++ 库可用于将非流形几何转换为流形曲面?

PS,我已经通过填充孔清理了结果,但是似乎还有一些不光滑的部分和孔。

谢谢

0 投票
1 回答
72 浏览

c++ - 输入面组件包含退化三角形

我这样称呼IGLtrim_with_solid

错误

但我收到这样的例外:

输入面组件包含退化三角形

前置条件异常表达式:!k.is_degenerate_3_object()

问题

  • 我打电话trim_with_solid正确吗?

  • 据我记得,我的输入网格没有退化的面。但是,如果他们这样做了,IGL 是否有任何工具来检测和删除退化的方面?谢谢!

截图

截屏

截图另一个

0 投票
0 回答
112 浏览

graphics - 如何制作网状歧管

我尝试trim_with_solid了在 3D 模型中钻孔的方法:

但对于具有内外壁的镂空 3D 模型,孔闭合:

内墙和外墙

可能的解决方案

正如此处发布的那样,一个可能的解决方案可能是使用CSG 操作

但是,CSG 操作需要输入网格是多方面的。

问题

我不知道 libigl 是否有任何工具可以制作网格流形。有这样的工具吗?有没有其他图书馆可能有帮助?

0 投票
1 回答
177 浏览

graphics - 如何使用 CSGTree 进行多个布尔运算

我正在尝试使用 libigl 的Csg Tree来一次执行多个布尔运算。在链接的教程中,只有这一行:

我不知道如何使用CSGTree类 API。任何人都可以通过样板示例提供理想的帮助吗?

0 投票
1 回答
53 浏览

c++ - 如何处理输出:trim_with_solid

trim_with_solid叫做:

处理输出:

结果很好

有时修剪结果很好。就像这个用实心圆柱体修剪茶壶模型的模型:

图片

图片

结果不好

但有时修剪结果并不像预期的那样:

图片

图片

图片

如上面的线框视图所示,茶壶和圆柱体的交点被正确识别。但由于某种原因,此循环无法检测到圆柱体外部的三角形:

有人知道我可能缺少什么吗?

0 投票
0 回答
28 浏览

libigl - 为什么 I(原始索引)与例如层输入网格中的顶点索引不同?

当使用 igl::point_mesh_squared_distance(..., I, ...) 或 inputMesh.aabb.squared_distance(..., I, ...) 时,I - 一个输出 - 指的是 #P 对应的原始索引列表最小的距离。我想知道这个索引是什么,因为返回的索引号与例如 PLY 网格中的顶点索引不对齐(对应于)。

如何从中获取网格顶点列表中的索引?

0 投票
0 回答
27 浏览

c++ - 生成的 sdf 中缺少特征

我尝试为 .obj 网格生成 sdf,还使用 ​​libigl 在其上运行了行进立方体算法,但输出非常粗糙且出乎意料,我似乎遇到了问题……请帮忙!这是我的代码

另外:这是我使用的网格文件的链接。这是来自 shapenet https://drive.google.com/file/d/17PwifnzyzIlTI1vKN8dm_FYb9fvdUyoE/view?usp=sharing的橱柜三角形网格

这些是我得到的结果

行进立方体后生成的网格

原始网格

0 投票
0 回答
21 浏览

c++ - libigl如何获得光线交点

我在我正在从事的几何项目中使用 libigl。我需要使用一个函数来投射光线并给我交叉点。我发现ray_mesh_intersect问题是我在任何地方都找不到这个函数的例子,即使是在文档上!

我目前试图给函数一个空的输入向量,但它似乎不起作用。

当前程序崩溃。但是编译。