Skip to content

AlbertLiDesign/ALDGP

Repository files navigation

ALDGP

ALDGP是一个轻量的离散几何处理库,记录在学习GAMES102课程中写下的一些代码,代码使用C#语言实现,基于Plankton半边网格库和Eigen线性代数库,代码大部分由C#完成,数值计算部分由C++编写,算法实现参考了The Polygon Mesh Processing Library,在这里感谢上述开源库作者的贡献。

  • 目前ALDGP还处于一个非常初级的阶段,本人将在后续逐步完善。
  • 相关知识的笔记可以在Notes中找到。
  • 欲了解更多关于数字几何的知识,欢迎关注公众号:AlbertLiDesign。

已实现功能

微分几何

  1. 计算平均曲率、高斯曲率和主曲率
  2. 计算顶点法向、面法向
  3. 计算混合Voronoi面积
  4. 计算三角形面积、外接圆圆心
  5. 计算均匀拉普拉斯算子和余切拉普拉斯算子,计算余切拉普拉斯边权重
  6. 构造均匀拉普拉斯矩阵和余切拉普拉斯矩阵

基础数学

  1. MathUtils放置了计算余切及相关Clamp方法
  2. Vector3D实现了基本的三维向量方法,包括点积、叉积、求模等

Utils

  1. 实现了obj格式的读取与写入
  2. 为Plankton半边网格库补充了一些常用方法

高级功能

  1. 基于余切权的显式拉普拉斯光滑
  2. 基于余切权的隐式拉普拉斯光滑
  3. 可计算边界的网格对偶
  4. 任意多边形网格的三角化
  5. 提取特征边,当相邻面夹角大于给定角度即被视为特征边

About

一个轻量的离散几何处理库

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published