プラグラムからポリゴンジオメトリを制御するのに便利なライブラリ『CGAL(The Computational Geometry Algorithms Library)』のご紹介。この計算幾何学アルゴリズムライブラリは2023年5月6日時点ではv5.5.2が公開されており、
The Computational Geometry Algorithms Library (CGAL)
Computational Geometry Algorithms Library (CGAL) は計算幾何学分野におけるアルゴリズムに効果的で信頼性があり、かつ簡易なアクセスを提供することを目的としたソフトウエアである。 オリジナルはC++言語で書かれているが、Python言語のバインディングも利用可能である。 ライセンスは二重ライセンスとなっている。オープンソフトウエアで使用する場合はLGPLもしくはQPLで提供される。商用ライセンスも購入することが可能である。
CGAL – Wikipedia
計算幾何学アルゴリズムライブラリ(CGAL)は、効率的で信頼性の高い幾何学アルゴリズムにC++ライブラリの形で簡単にアクセスできるようにするソフトウェアプロジェクトです。
CGALは、効率的で信頼性の高い幾何学的アルゴリズムにC++ライブラリの形で簡単にアクセスできるソフトウェアプロジェクトです。CGALは、地理情報システム、コンピュータ支援設計、分子生物学、医療画像、コンピュータグラフィックス、ロボット工学など、幾何学計算を必要とする様々な分野で利用されています。
このライブラリは、三角形分割、ボロノイ図、多角形と多面体のブール演算、点集合処理、曲線の配置、サーフェスとボリュームメッシュ生成、ジオメトリ処理、アルファ形状、コンベックスハルアルゴリズム、形状再構成、AABBとKDツリーなどのデータ構造とアルゴリズムを提供します…
このライブラリ、大昔に調べてメモだけしていたのですが、今も更新され続けていたのですね…知らなかった。
約1年前にリリースされたv5.5では「3D Alpha Wrapping」が実装されていたみたいです。
3D Alpha Wrapping
このコンポーネントは、3D三角形メッシュ、スープ、または点セットを入力として受け取り、その入力を含む有効な(水密、交差なし、組み合わせ2多様体)表面三角形メッシュを生成します。このアルゴリズムは、入力の緩いバウンディングボックスから始まる3Dドロネー三角形分割をシュリンクし、洗練させることで進行します。ユーザー定義の2つのパラメータ、alphaとoffsetは、それぞれシュリンクラッププロセスが入ることができる空洞の最大サイズと、最終的なサーフェスメッシュの入力に対する密度を制御するものです。これらのパラメータを組み合わせることで、入力への忠実さと出力の複雑さを交換することができます。
CGAL 5.5 リリース
気になる方は是非チェックしてみてください。
コメント