作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 影片片段物件在圓形範圍內隨機出現
時間Tue May 12 15:48:40 2009
半徑R、圓心於(A, B)的圓形參數式:
x = R * cos(t) + A
y = R * sin(t) + B
所以需要亂數的是半徑R和角度t
R = 200 * Math.random(); //半徑0~200
t = (Math.PI * 2) * Math.random(); //角度0~2pi徑
x = R * Math.cos(t) + A;
y = R * Math.sin(t) + B;
這樣其實物件還是會比較集中在中心
因為R和t都是平均分布的亂數
R = 0和200的機率一樣大
但是外圈的圓周比較大
所以會導致物件分部比較集中在中心
根據ActionScript 3.0 Animation後面的附錄
一種解決方式是把R的亂數取根號
R = 200 * Math.sqrt(Math.random());
以上
--
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: 61.228.84.213
→ aquarianboy:難怪我畫出來的都黏在一起 :) 05/12 15:57
推 Angelliya:推亂數取根號...簡單方便的作法 05/12 16:10