詳細でありながら簡単に制御できる3D形状を作成する一般的な方法は、手続き型モデリング、つまりプログラムを使用してジオメトリを生成することです。このようなプログラムは、一連の命令とそれに関連するパラメータ値で構成されています。この表現の利点を完全に実現するには、形状プログラムをコンパクトにし、出力ジオメトリの意味のある操作を可能にする自由度のみを公開する必要があります。この目標を達成する1つの方法は、実行時に基本形状モデリング言語からの一連のコマンドに展開される高レベルのマクロ演算子を設計することです。ただし、シェイププログラム自体と同様に、このようなマクロを手動で作成することは困難であり、主にドメインの専門家に限定されています。この論文では、3D形状プログラムの大規模なデータセット全体で役立つマクロを自動的に検出するためのアルゴリズムであるShapeMODを紹介します。 ShapeMODは、命令型のステートメントベースの言語で表現されたシェイププログラムで動作します。これは、入力形状コレクションを表すために必要な関数呼び出しと自由パラメーターの数を最小限に抑えることにより、プログラムをよりコンパクトにするマクロを検出するように設計されています。 3D形状構造のドメイン固有言語で表現されたプログラムの複数のコレクションでShapeMODを実行します。大規模な形状コレクションを一般化する一般的な構造パターンとパラメトリックパターンを抽象化する簡潔なマクロのセットを自動的に検出することを示します。また、ShapeMODによって検出されたマクロが、形状生成モデリングや点群からのプログラムの推測など、ダウンストリームタスクのパフォーマンスを向上させることも示しています。最後に、ShapeMODの検出されたマクロがインタラクティブな形状編集をより効率的にすることを示すユーザー調査を実施します。
A popular way to create detailed yet easily controllable 3D shapes is via procedural modeling, i.e. generating geometry using programs. Such programs consist of a series of instructions along with their associated parameter values. To fully realize the benefits of this representation, a shape program should be compact and only expose degrees of freedom that allow for meaningful manipulation of output geometry. One way to achieve this goal is to design higher-level macro operators that, when executed, expand into a series of commands from the base shape modeling language. However, manually authoring such macros, much like shape programs themselves, is difficult and largely restricted to domain experts. In this paper, we present ShapeMOD, an algorithm for automatically discovering macros that are useful across large datasets of 3D shape programs. ShapeMOD operates on shape programs expressed in an imperative, statement-based language. It is designed to discover macros that make programs more compact by minimizing the number of function calls and free parameters required to represent an input shape collection. We run ShapeMOD on multiple collections of programs expressed in a domain-specific language for 3D shape structures. We show that it automatically discovers a concise set of macros that abstract out common structural and parametric patterns that generalize over large shape collections. We also demonstrate that the macros found by ShapeMOD improve performance on downstream tasks including shape generative modeling and inferring programs from point clouds. Finally, we conduct a user study that indicates that ShapeMOD's discovered macros make interactive shape editing more efficient.