fc2ブログ

新 3D クラス開発日記(12) ~ 頂点を使った 3D 表現<4> type="sphere" ~

2007/02/13 22:53 - AS3.0

info:Object = { dist:Number }
単位円の円周上の点Pの座標


DIST = 75;

for ( i=0; i<8; i++ ) {
 var degree:Number = ( 360 / 8 ) * i;
 var cos:Number = Math.cos( AqMath.d2r( degree ) ) * DIST;
 var sin:Number = Math.sin( AqMath.d2r( degree ) ) * DIST;

 vector_array[i] = new Vector( cos , sin , 0 );
}
coordinate_ring.txt より
AqMath.d2r は角度からラジアンを求めるカスタムメソッドです。

var DIST:uint = 75;
var vNum:int = 7; // 垂直軸上のポイント数
var hNum:int = 8; // 水平軸上のポイント数

for ( var v:int=0,i:int=0; v<vNum ; v++ ) {
 for ( var h:int=0; h<hNum ; h++,i++ ) {
  var vD:Number = 180 / ( vNum + 1 ) * ( v + 1 ) - 90;
  var hD:Number = ( 360 / hNum ) * h;

  var px:Number = DIST * Math.cos( AqMath.d2r( hD ) ) 
            * Math.cos( AqMath.d2r( vD ) );

  var py:Number = DIST * Math.sin( AqMath.d2r( vD ) );

  var pz:Number = DIST * Math.sin( AqMath.d2r( hD ) ) 
            * Math.cos( AqMath.d2r( vD ) );

  vector_array[i] = new Vector( px , py , pz );
 }
}
sphere.fla の第 1 フレームより

ソース( sphere.zip 17.8 KB )

にほんブログ村 IT技術ブログへ

スポンサーサイト




コメントの投稿

非公開コメント

タグクラウド

最近の記事
カテゴリ
月別アーカイブ
プロフィール

Aquioux

Author:Aquioux
日曜 Flash プログラマ。
Flash 作品は本館で展示しています。


mailto:aquioux@mail.goo.ne.jp

ブログパーツ

あわせて読みたい

フィードメーター - 閃光的網站・弛緩複合体 -Review Division-


検索/translation
Google



オススメ本

コメント
トラックバック
RSS

Add to Google

Bloglinesで閲読登録

はてなRSSに追加

Subscribe with livedoor Reader

My Yahoo!に追加

Add to Technorati Favorites!

feedpathに追加