2013-04-09 168 views
0

考虑一个100X100阵列。基本Python编程,使用随机位置数组计算随机位置落入区域内的概率

  • 在这样的数组内产生数千个随机位置的阵列,例如, (3,75)和(56,34)。
  • 计算您的随机位置而如何往往此起彼伏内的任何(直)的15个像素边缘

(我已经做了这两个部位以上) 但我需要帮助做:

  1. 计算一个随机位置落在半径为50像素的圆的15个像素内(任一侧)的频率,并将结果写入屏幕,例如平均N%的阵列中的位置落在这个区域[N是0到100之间的数字]注意角落中的坐标在圆圈的15个像素内,那么它们应该包含在这里(如果它们是超过15个像素,那么他们不应该)。

  2. 添加从用户请求阵列中某个位置的代码,然后在该位置落在该区域时提醒他们。警告:您选择的位置靠近圆的边缘。

我该如何去做这件事?我已经有我的随机位置的阵列使用此代码:

from pylab import * 
import math as m 
from numpy import * 
from random import randrange 
N = 3000 
coords_array = array([randrange(100) for _ in range(2 * N)]).reshape(N, 2) 

那我怎么去这样做的部分(1)和(2)?我正在考虑使用布尔表达式(如果或者)来做到这一点,但我不确定它是否可以工作,以及它是如何做到的。

+0

你有兴趣计算这个还是模拟这个?它看起来像你在模拟。 – vy32 2013-04-09 16:12:52

+0

作业? (看起来像,但我没看到标签) – 2013-04-09 16:14:33

+1

@ Series8217:'家庭作业'标签已被烧毁;无论问题是否在家庭作业中被问到,问题都需要独立进行。请参阅[作业标签现已正式弃用](http://meta.stackexchange.com/q/147100) – 2013-04-09 16:16:39

回答

0

这不是一个家庭作业问题,是吗?

要处理圈子业务,我会先检查一下,看看这个点不在禁区内。如果你的圆圈居中在(0,0)处,那么禁区是35 <= x**2 + y**2 <= 65