https://github.com/alecjacobson/gptoolbox/
这是一个工具箱的有用的matlab函数的几何处理。还有一些与受限优化和图像处理相关的工具。通常这些都是实用函数,它们不是独立的应用程序。
这里是一个不完整的列表的酷特性,这个matlab工具箱包含:
-包装TetGen, Triangle, QSlim, meshfix
——网格平滑
-网格清理(删除重复,删除未引用)
-三角形和四面体网格上的测地线距离
-网格数量和查询(法线,离散高斯曲率,列表边界边,拓扑,角度,二面角等)
-网格变形(尽可能刚性(ARAP),移动最小二乘等)
-网格参数化(谐波、最小二乘共形、ARAP等)
自动蒙皮权重计算(有界双调和权重,骨热)
-二维三角形网格从二值图像
-多种网格格式的输入/输出(.obj,.off,.stl,.wrl,.ply,.mesh,.node,.ele,.poly,.smf,.bdl,.face)
-三角形和四面体网格的离散微分几何算子(余切拉普拉斯,梯度,散度)
-二次规划,主动集求解器
-基于涂鸦的图像着色,扩散曲线
-精确的(unsigned)距离域计算的网格
-构造实体几何学操作的网格,布尔
加速点位置在三角形和四面体网格
——图像抖动
-深入matlab函数依赖
亚历克·雅各布森(2021)。gptoolboxGitHub (https://github.com/alecjacobson/gptoolbox)。检索.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
谢谢你的工作!不过,功能“自交叉”。在清洗网孔过程中缺少M”。有可能提供吗?
曲线偏移在某些情况下工作不正常
如。
X = [0 3 2 4 4 5 6 5 7];
Y = [8 12 20 22 14 8 16 20 20];
不能安装
在Windows上编译非常复杂。
是否有一些例子或演示文件使代码更清楚?很多谢谢!
不清楚!我花了三天时间来编译,但仍然没有成功。
@Johannes我已经重写了mex安装来使用CMake,您可能会发现这更容易。
许多工具在没有安装eigen和libilgl的情况下无法工作。在windows机器上安装这些组件也没有很好的文档记录。我没让它工作。
谢谢分享!
伟大的工具箱,然而,我仍然有一些问题编译一些。cpp文件。
有没有人在。mexw64或。mexmaci64中有'point_mesh_squared_distance.cpp'和'signed_distance.cpp'的编译版本?那真的很有帮助。
我已经试过各种方法了
https://github.com/alecjacobson/gptoolbox/issues?q=is%3Aissue+is%3Aclosed
@Helen Khambay
你必须得到eigen和libigl的最新稳定版本:
http://eigen.tuxfamily.org/index.php?title=Main_Page
https://github.com/libigl/libigl
你可以卸载MinGW?不确定。
你可以在这里找到更多关于gptoolbox中其他cpp函数的例子:
https://github.com/alecjacobson/gptoolbox/issues?q=is%3Aissue+is%3Aclosed
然后尝试以下代码:
---------------------------------------
clearvars
eigen_version = ' 26667 be4f70b ';
path_to_eigen = [' C: \开发\ eigen-eigen——“eigen_version);
path_to_libigl = C: \开发\ libigl”;
MEXOPTS ={‘v’,‘-largeArrayDims’,‘-DMEX};
EIGEN_INC =(“我”path_to_eigen);
LIBIGL_INC =['我' path_to_libigl ' \包括'];
LIBIGL_FLAGS =“-DIGL_SKIP”;
LIBIGL_LIB = {' -DIGL_SKIP '};
LIBIGL_LIBMATLAB =“-DIGL_SKIP”;
LIBIGL_LIBCGAL =“-DIGL_SKIP”;
LIBIGL_LIBCORK =“-DIGL_NO_CORK”;
LIBIGL_BASE = {LIBIGL_INC、LIBIGL_FLAGS LIBIGL_LIB {:}, LIBIGL_LIBMATLAB};
墨西哥人(…
MEXOPTS{:},……
LIBIGL_BASE {:}, EIGEN_INC,…
“point_mesh_squared_distance.cpp”);
你好,谁能帮我编译带有mex的point_mesh_squared_distance.cpp,因为我想使用hausdorff函数。我已经安装了MinGW,但是得到错误信息"point_mesh_squared_distance.cpp:5:34: fatal error: igl/matlab/MexStream.h: No such file or directory compilation terminated."
我是一个使用MATLAB的新手。
非常感谢……
@Rik
它也可以在windows机器上运行。
首先,如果你想使用hausdorff函数,你必须用mex编译point_mesh_squared_distance.cpp。
它可能有用,但由于我在Windows机器上工作,我不能使用hausdorff脚本。
这篇文章忽略了两件事:
1)带有一行说明的函数列表,便于搜索
2)描述中提到有些东西不能在Windows上运行。
伟大的工具箱!谢谢!
一些想法:
描述函数的小示例将是有用的。
你可以通过压缩"gptoolbox-logo.pdf"来减小zip文件的大小。
非常有用的工具箱!伟大的工作!谢谢分享!
好工作!
非常棒的工作,感谢与社区分享。
我的应用是,我有一个封闭的三维三角曲面。我想用带符号的距离函数将它应用到一个统一的三维笛卡尔网格中这个三维三角封闭曲面位于其中。换句话说,这个三维表面是沉浸在笛卡尔均匀网格中。我成功地编译并构建了mex文件。
你能告诉我我应该如何使用这个函数并找出我的应用程序中的带符号距离函数吗假设V和F是顶点,曲面的面x, y, z是统一笛卡尔网格的坐标。我会非常感激的。
这是一个非常有用的工具箱,任何人与表面网格工作。谢谢分享!