スポンサーリンク

ICO球の作り方(1)

考え方

1.正二十面体を作る

正二十面体は、1:( 1+ √5 ) / 2 の比率の長方形を立体的に三枚用意し、それぞれの頂点を正三角形になるように結ぶことで作成できる。

2.正二十面体の各三角形を再分割する

正二十面体の各三角形を4分割する。

3.半径の再考と頂点の移動

このままでは球にならない。やりたいのは、分割してできた各頂点を球状に配置する事。

二次元で表現した例。多角形を中点で分割し円に近づける。

ここで、そもそもこの球の半径がいくつかを再考してみる。元々 1:( 1+ √5 ) / 2 の長方形の頂点からなる図形なので、半径はピタゴラスの定理から √(((1+√5)/2)^2+1)/2 が求まる。これでは使いにくい。

最初の長方形の対角線の長さ

正攻法としては直径がdになるように辺の比率を調整する。半径1ならd=2とする。

方法1 最初の長方形の各辺にd/Kを掛ければ直径がdになる

実の所、正二十面体が求まった時点で、「原点→ある頂点」の位置ベクトルとして正規化してしまうのが手っ取り早いし後々も使える。 どうせ全ての頂点の「原点からの距離」はrで無ければならない。

方法2 頂点の座標値で正規化する

次回はプログラムを書く

参考

Creating an icosphere mesh in code
http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html

Weblog on mebius.tokaichiba.jp
http://ynomura.dip.jp/archives/2009/08/20.html

次の記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: