logo

logo

メールマガジン・新着情報一覧

  1. TOP
  2. メールマガジン・新着情報一覧
  3. A-0060. STLで正20面体を作ってみました(後半) — TT

2016.06.08

A-0060. STLで正20面体を作ってみました(後半) — TT

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 
 
STLで正20面体を作ってみました(後半) 
 
発行:エスオーエル株式会社 
https://www.sol-j.co.jp/ 
 
連載「X線CTで高精度寸法測定!?」 
2016年6月8日号 VOL.060 
 
平素は格別のお引き立てを賜り、厚く御礼申し上げます。 
X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、 
無料にてメールマガジンを配信いたしております。 
 
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 
 
 
 
さて、前回は、正20面体の頂点座標を求めて、 
STLで正20面体を作ろうという計算の前半でした。 
今回は、その後半です。 
 
状況設定や記号は前回の記事を参照して下さい。  
 
頂点 P02 から 直線 P03-P06 に垂線を下して交わった点を G とします。 
また、点 C から 直線 P02-P03 に垂線を下して交わった点を H とします。 
 
三角形 P03-P02-G と 三角形 C-P02-H は、 
どちらも 36°の角を持つ直角三角形なので、相似です。 
 
P02 と P03 の距離は 1 で、P3 と G の距離は d/2 = (√5 + 1)/4 なので、 
P02 と G の距離 e が求まります。 
 
  e = √( 1^2 - (d/2)^2 ) = √( ( 5 - √5 )/8 ) 
 
三角形 P03-P02-G の各辺の長さが求まったので、 
相似の関係にある三角形 C-P02-H の各辺の長さも求まります。 
 
  1 : (√5 + 1)/4 : √( ( 5 - √5 )/8 ) = b : a : 1/2 
 
この比の式から a と b を計算すると、 
 
  a = ( √10 + √2 ) / 4√( 5 - √5 ) 
 
  b = √2 / √( 5 - √5 ) 
 
になります。 
 
 
次に、正20面体の外接球を考えて、その中心を K とします。 
K から 各頂点までの距離を r としておきます。 
 
さて、P01 と P02 と K を通る平面で正20面体を切ってみます。 
 
K から 直線 P01-P02 に垂線を下して交わった点を J とします。 
 
三角形 K-P01-J と 三角形 P02-P01-C は、相似な直角三角形です。 
 
C と P02 までの距離を b で、P01 と P02 までの距離は 1 なので、 
C と P01 までの距離 m は、 
 
  m = √( 1^2 - b^2 ) = √( 5 - √5 ) / √10 
 
です。 
そして、相似の関係より、 
 
  1/2 : r = m : 1 
 
なので、 
 
  r = 1/(2m) = √10 / 2√( 5 - √5 ) 
 
です。 
これで、正20面体の頂点座標を計算する準備ができました。 
 
  P01 = ( 0 , 0 , r ) 
  P02 = ( 0 , b , r - m ) 
  P03 = ( b sin 8×36° ,  b cos 8×36° , r - m ) 
  P04 = ( b sin 6×36° ,  b cos 6×36° , r - m ) 
  P05 = ( b sin 4×36° ,  b cos 4×36° , r - m ) 
  P06 = ( b sin 2×36° ,  b cos 2×36° , r - m ) 
  P07 = ( b sin 2×36° , -b cos 2×36° , m - r ) 
  P08 = ( b sin 4×36° , -b cos 4×36° , m - r ) 
  P09 = ( b sin 6×36° , -b cos 6×36° , m - r ) 
  P10 = ( b sin 8×36° , -b cos 8×36° , m - r ) 
  P11 = ( 0 , -b , m - r ) 
  P12 = ( 0 ,  0 , -r ) 
 
数値にすると、 
 
  P01 = (  0.00000000 ,  0.00000000 ,  0.95105652 ) 
  P02 = (  0.00000000 ,  0.85065081 ,  0.42532540 ) 
  P03 = ( -0.80901699 ,  0.26286556 ,  0.42532540 ) 
  P04 = ( -0.50000000 , -0.68819096 ,  0.42532540 ) 
  P05 = (  0.50000000 , -0.68819096 ,  0.42532540 ) 
  P06 = (  0.80901699 ,  0.26286556 ,  0.42532540 ) 
  P07 = (  0.80901699 , -0.26286556 , -0.42532540 ) 
  P08 = (  0.50000000 ,  0.68819096 , -0.42532540 ) 
  P09 = ( -0.50000000 ,  0.68819096 , -0.42532540 ) 
  P10 = ( -0.80901699 , -0.26286556 , -0.42532540 ) 
  P11 = (  0.00000000 , -0.85065081 , -0.42532540 ) 
  P12 = (  0.00000000 ,  0.00000000 , -0.95105652 ) 
 
となります。 
 
この頂点座標から、20枚の三角形を作ることで、 
STLファイルを直接書いて作成し、 
無事に正20面体を表示させることができました。 
 
このデータを使うと、コンピュータ上で自由に断面を切ったり、 
自由な角度で投影したりすることができます。 
 
実際にいろいろな断面図や投影図を見てみると、 
いかに頭でイメージしていたものが貧弱だったかというのを 
思い知らされます。 
 
頭の中では、典型的な切り方や投影をいくつかやっただけで、 
あたかも全てを把握してしまったかのように思ってしまいます。 
 
 
空間認識能力は、 
コンピュータや作図や計算によって、 
目に見える形にして補助することができますが、 
頼り切ってしまうと、衰えてしまいます。 
 
頭の中で鮮明にイメージを再現できるように、訓練すると、 
何かの役に立つかもしれません。 

 
--
高野智暢


☆TomoScope専門サイトはこちら☆

一覧に戻る

お問い合わせ Contact

048-441-1133

お問合せフォーム