qhullを使って三角分割を試みる。

サンプル を解読してみる。

まずrboxで200点の球面上(s)の点をランダムに生成。B1はbounding boxの指定。生成されるのは,qhull用の入力。

入力形式は,1行目に次元(3)。2行目に点の数nを書く。以下,デカルト座標x y zをn行書く。

qhullのオプション。C-0は丸め誤差を側面を融合して処理するという意味で,既定ではオン。Qcは同一平面上の点を最も近い面に留めるという意味。GはGeomviewの出力の調整aは全ての点をドットで表示,pは同一平面上の点と頂点を半径とする,vは頂点を球とする。Rはランダムノイズを追加している。

出力結果は,Geomviewで見る。

球面上の任意の点の分布から三角分割をするには,qhullの読める形式で点を保存して,

$ cat foo.txt | qhull Qc Gpav > bar.txt

とすればよい。geomviewでbar.txtを開く。