问题描述
- 如何根据随机数的分布确定面积大小
-
java awt 在一个Frame中画一个两个圆,如何根据随机数的分布来确定他们的面积大小之比
解决方案
http://www.blogjava.net/nhebek/archive/2012/06/27/381570.html
解决方案二:
1 /**
2 * 利用蒙特卡洛算法(Mente Carlo Method)计算单位圆面积
3 *
4 */
5
6 import java.util.Random;
7
8 public class MonteCarloMethodTest
9 {
10 public static void main(String[] args)
11 {
12 int sum = 0;
13 int c_sum = 0;
14 double x;
15 double y;
16 Random ra = new Random();
17
18 int i = 0;
19 while (i != 100000000)
20 {
21 x = ra.nextDouble();
22 y = ra.nextDouble();
23
24 if (x * x + y * y <= 1)
25 ++c_sum;
26 ++sum;
27 ++i;
28 }
29
30 double area = (double)c_sum / sum * 4;
31 System.out.println("area = " + area);
32 }
33 }
解决方案三:
生成一万个随机点,然后统计落在园1中的点数N,落在圆2中的点数M,那么N和M就相当于面积了
解决方案四:
在窗口上均匀的给大量随机的点,记录在圆1内的点和圆2内的点的比例就是两个圆的面积之比。
时间: 2024-09-11 04:29:57