在乙個圓內隨機取若個座標點(python

2021-10-03 19:49:35 字數 2217 閱讀 1365

在乙個指定位置的圓內隨機取若干個座標點,num為數量,radius為圓的半徑,(centerx, centery)為圓心座標。

方法一:根據條件判斷的隨機點產生方法

import random

import matplotlib.pyplot as plt

def getrandompointincircle

(num, radius, centerx, centery)

: samplepoint =

for i in

range

(num)

:while true:

x = random.

uniform

(-radius, radius)

y = random.

uniform

(-radius, radius)

if(x **2)

+(y **2)

<=

(radius **2)

: samplepoint.((

int(x)

+ centerx,

int(y)

+ centery)

)break

plt.

plot

(x + centerx, y + centery,

'*', color=

"blue"

)return samplepoint

if __name__ ==

"__main__"

: num =

1000

radius =

100 centerx,centery =20,

20 samp =

getrandompointincircle

(num, radius, centerx, centery)

print

("sample point"

, samp)

plt.

legend()

plt.

show

()

方法二:極座標產生隨機點

import random

import matplotlib.pyplot as plt

def getrandompointincircle

(num, radius, centerx, centery)

: samplepoint =

for i in

range

(num)

: theta = random.

random()

*2* np.pi

r = random.

uniform(0

, radius **2)

x = math.

cos(theta)

*(r **

0.5)

+ centerx

y = math.

sin(theta)

*(r **

0.5)

+ centery

samplepoint.((

int(x)

,int

(y))

) plt.

plot

(x, y,

'*', color=

"blue"

)return samplepoint

if __name__ ==

"__main__"

: num =

1000

radius =

100 centerx,centery =20,

20 samp =

getrandompointincircle

(num, radius, centerx, centery)

print

("sample point"

, samp)

plt.

legend()

plt.

show

()

顯示效果顯示如下:

求乙個圓的面積及判斷乙個點是否在圓內

class point point double x,double y void setx double x void sety double y double getx double gety class circle circle point p circle double radius cir...

設計乙個表示座標點的類

package zuobiao.cn 寫乙個表示座標的類 設計思路 接收兩個引數 橫座標,縱座標,由於表示的型別有三種 int float string 要想乙個類接收三種資料型別,只能使用 object,因為object類可以接收任何型別的資料 設計座標 類 point class point p...

在乙個py指令碼中呼叫另外乙個py指令碼中的類或函式

1.兩個檔案在同一目錄,直接import即可 2.兩個檔案在不同目錄 在匯入檔案的時候,python只搜尋當前指令碼所在的目錄,載入 entry point 入口指令碼執行目錄和sys.path中包含的路徑例如包的安裝位址。所以如果要在當前指令碼引用其他檔案,除了將檔案放在和指令碼同一目錄下,還有以...