当前位置: X-MOL 学术ACM Trans. Graph. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
I❤MESH: A DSL for Mesh Processing
ACM Transactions on Graphics  ( IF 6.2 ) Pub Date : 2024-05-01 , DOI: 10.1145/3662181
Yong Li 1, 2 , Shoaib Kamil 3 , Keenan Crane 4 , Alec Jacobson 5, 6 , Yotam Gingold 7
Affiliation  

Mesh processing algorithms are often communicated via concise mathematical notation (e.g., summation over mesh neighborhoods). However, conversion of notation into working code remains a time consuming and error-prone process which requires arcane knowledge of low-level data structures and libraries—impeding rapid exploration of high-level algorithms. We address this problem by introducing a domain-specific language (DSL) for mesh processing called I❤MESH, which resembles notation commonly used in visual and geometric computing, and automates the process of converting notation into code. The centerpiece of our language is a flexible notation for specifying and manipulating neighborhoods of a cell complex, internally represented via standard operations on sparse boundary matrices. This layered design enables natural expression of algorithms while minimizing demands on a code generation back-end. In particular, by integrating I❤MESH with the linear algebra features of the I❤LA DSL, and adding support for automatic differentiation, we can rapidly implement a rich variety of algorithms on point clouds, surface meshes, and volume meshes.



中文翻译:

I❤MESH:用于网格处理的 DSL

网格处理算法通常通过简洁的数学符号(例如,网格邻域求和)来传达。然而,将符号转换为工作代码仍然是一个耗时且容易出错的过程,需要对低级数据结构和库的深奥知识,这阻碍了对高级算法的快速探索。我们通过引入一种名为 I❤MESH 的网格处理领域特定语言 (DSL) 来解决这个问题,它类似于视觉和几何计算中常用的符号,并自动将符号转换为代码的过程。我们语言的核心是一种灵活的表示法,用于指定和操作细胞复合体的邻域,通过稀疏边界矩阵的标准操作在内部表示。这种分层设计可以自然地表达算法,同时最大限度地减少对代码生成后端的需求。特别是,通过将I❤MESH与I❤LA DSL的线性代数功能集成,并添加对自动微分的支持,我们可以在点云、表面网格和体网格上快速实现丰富多样的算法。

更新日期:2024-05-01
down
wechat
bug