作者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
1F:→ aquarianboy:难怪我画出来的都黏在一起 :) 05/12 15:57
2F:推 Angelliya:推乱数取根号...简单方便的作法 05/12 16:10
3F:→ Isacat:我的苹果长在苹果树上了 感谢解答 05/13 07:06