【发布时间】:2013-04-01 23:31:00
【问题描述】:
使用 JavaScript、PHP 或伪代码,有人可以展示如何在两个重叠椭圆形状之间的区域内生成随机点吗?如果你看一下下面的图片,黑色标记的区域就是要填充的区域。
如果您假设两个椭圆形状都与其中心在 0、0 处对齐,并且我们将内部椭圆的 x 轴大小设为 200,y 轴大小设为 150,则椭圆越大(黑色区域的外边缘) x 轴大小为 300,y 轴大小为 250。
我知道我可以只取一个矩形区域并生成随机点,然后检查它们与中心的距离,看看它们是否落入黑色区域,但我想要一个更复杂、更少浪费的方法来使用一些不错的数学来做到这一点,如果可能!
【问题讨论】:
-
即使您确实需要均匀分布,极坐标似乎也是正确的方向。椭圆是否同心(您已经对此表示同意)并且长轴或短轴沿/平行于 X 轴?其次两个椭圆是否相似(意思是彼此成比例)?
标签: javascript math random shapes