python藍色的圓 Python 矩形和圓形

2021-10-12 11:20:38 字數 2697 閱讀 5577

exercise 15.1. 定義乙個叫做circle 類,類的屬性是圓心 (center) 和半徑 (radius) , 其中,

圓心 (center) 是乙個 point 類,而半徑 (radius) 是乙個數字。

例項化乙個圓心 (center) 為 (150, 100) ,半徑 (radius) 為 75 的circle 物件。

1、編寫乙個名稱為point_in_circle 的函式,該函式可以接受乙個圓類 (circle) 物件和點類

(point) 物件,然後判斷該點是否在圓內。在圓內則返回true 。

2、編寫乙個名稱為rect_in_circle 的函式,該函式接受乙個圓類 (circle) 物件和矩形

(rectangle) 物件,如果該矩形是否完全在圓內或者在圓上則返回true 。

3、編寫乙個名為rect_circle_overlap 函式,該函式接受乙個圓類物件和乙個矩形類物件,如

果矩形有任意乙個角落在圓內則返回true 。或者寫乙個更具有挑戰性的版本,如果該矩

形有任何部分落在圓內返回true 。

#######15.9 p175

import math

class circle: #

this is a circle class,

incude center and radius

class point:

this is a point

class rectangle():

this is a 矩形

radius=circle()

radius.x=75.0

center=circle()

center.box=point()

center.box.x=150.0

center.box.y=100.0

##矩形

box=rectangle()

box.wei=100.0

box.hei=100.0

box.point=point()

#計算點到圓心的距離

def point_in_len(x,y):

b=math.sqrt((x-center.box.x)**2+(y-center.box.y)**2)

return b

#計算點是否在圓內

def point_in_circle(x,y):

b=point_in_len(x,y)

if b <=radius.x:

print( b)

return true

else:

return false

#計算矩形全部在圓內

def rect_in_circle(x,y):

x1=x+box.wei

y1=y+box.hei

b1=math.sqrt((x-center.box.x)**2+(y-center.box.y)**2)

b2= math.sqrt((x1-center.box.x)**2+(y-center.box.y)**2)

b3= math.sqrt((x-center.box.x)**2+(y1-center.box.y)**2)

b4=math.sqrt(box.wei**2+box.hei**2)

if b4 <=radius.x:

if b1<=radius.x and b2<=radius.x and b3<=radius.x:

return true

else:

return false

else:

return false

def rect_circle_overlap(x,y): ###

#算如果矩形在圓形的一部分就返回ture,

#原理:比對在矩形的範圍內所有的點,是否有到圓心的距離,小於半徑的

###原理:如果有符合的就計數+1

##並計算 計數是否大於1,如果大於1,則認為矩形有點是在圓形中

x2=int(x)

x3=x2+int(x+box.wei)

y2=int(y)

y3=y2+int(y+box.hei)

count=0

for x1 in range(x2,x3):

for y1 in range(y2,y3):

len1=math.sqrt((x1-center.box.x)**2+(y1-center.box.y)**2)

if len1 >radius.x:

count=count+0

else:

count+=1

if count >=1:

return true

point=point()

point.x=90.0

point.y=90.0

print(point_in_circle(point.x,point.y))

###矩形

box.point.x=160.0

box.point.y=100.0

###計算矩形是否全部包含在圓形內

print(rect_in_circle(box.point.x,box.point.y))

##計算矩形是否有部分在圓形內

print(rect_circle_overlap(box.point.x,box.point.y))

標籤:box,return,center,point,python,圓形,circle,矩形

python簡述定義函式的規則 python 函式

一.定義函式 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段 函式能提高應用的模組性,和 的重複利用率 函式式 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 物件導向 對函式進行分類和封裝,讓開發 更快更好更強.函式式程式設計最重要的是增強 的重用性和可讀性 1.定義函...

python如何求圓的面積

首先我們要知道圓的面積計算公式 s r 公式中s為所求圓的面積,為圓周率,r為圓的半徑。示例 定義乙個方法來計算圓的面積 def findarea r pi 3.142 return pi r r 呼叫方法 print 圓的面積為 6f 程式設計客棧 findarea 5 上面例子中我們定義了乙個f...

藍色,感情的流露

就象這藍色的寧靜 心裡波瀾不驚 是什麼讓人如此這般心平氣和 是空調 是電腦 是 還是因為你 常有微微的泡泡從心底冒起 那是因為想起了你 於是溫馨與滿足充盈了整個身心 雖隔著遠遠的距離與思念 當思念的水滴開始漫溢的時候 總有你的問候從簡訊中跳出來 你在網路中充斥的調皮 留住了我臉上不曾褪去的笑意 你總...