作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 想請教"亂數球體面積座標"的公式
時間Fri Sep 17 22:53:08 2010
其實有另外一招超簡單的偷吃步喔
就是直接用random做出一個亂數(x, y, z)座標向量
然後把這個向量標準化(normalize)之後調整長度為RADIUS
var x:Number = Math.random() - 0.5;
var y:Number = Math.random() - 0.5;
var z:Number = Math.random() - 0.5;
var factor:Number = RADIUS / Math.sqrt(x * x + y * y + z * z);
x *= factor;
y *= factor;
z *= factor;
以上code參考自Flint Particles的SphereZone class
Stardust也是用這種方式取得亂數球體座標
雖然不是說很"均勻",但是我個人覺得夠用了
重點是計算很簡單,不太需要什麼大腦XD
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.48.190
推 etrexetrex:嗯 不是很均勻 在靠近正方體的8個頂點上分布較密集 09/17 23:30
→ cjcat2266:其實原po那個方法也會不均勻就是,兩端會比較密集 09/18 02:09
→ cjcat2266:不過在點數不多的狀況下沒關係,因為看不太出來~ :) 09/18 02:12
推 kyzusmugoe:這樣簡潔好多......Orz.... 09/18 17:03
推 scars:效能也比較快 09/19 00:58