作者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
1F:推 etrexetrex:嗯 不是很均匀 在靠近正方体的8个顶点上分布较密集 09/17 23:30
2F:→ cjcat2266:其实原po那个方法也会不均匀就是,两端会比较密集 09/18 02:09
3F:→ cjcat2266:不过在点数不多的状况下没关系,因为看不太出来~ :) 09/18 02:12
4F:推 kyzusmugoe:这样简洁好多......Orz.... 09/18 17:03
5F:推 scars:效能也比较快 09/19 00:58