python判斷圓與矩形是否重合

2022-05-17 03:35:39 字數 3952 閱讀 2888

1樓:匿名使用者

import math

class point:

def __init__(self):

self.x = 0.0;

self.y = 0.0;

def __init__(self,x,y):

self.x = x;

self.y = y;

def getdistfromtwopoints(point1,point2):

return math.sqrt((point1.x-point2.x)**2+(point1.y-point2.y)**2)

def judge(center_x,center_y,radius,xmin,xmax,ymin,ymax):

ccenter = point(center_x,center_y)

# coordinates of four points

rdownleft = point(xmin,ymin)

rdownright = point(xmax,ymin)

rupperleft = point(xmin,ymax)

rupperright = point(xmax,ymax)

# midpoint of four lines

rsouth = point(xmin/2+xmax/2,ymin)

rnorth = point(xmin/2+xmax/2,ymax)

reast = point(xmax,ymin/2+ymax/2)

rwest = point(xmin,ymin/2+ymax/2)

ldownleft = getdistfromtwopoints(ccenter,rdownleft)

ldownright = getdistfromtwopoints(ccenter,rdownright)

lupperleft = getdistfromtwopoints(ccenter,rupperleft)

lupperright = getdistfromtwopoints(ccenter,rupperright)

lsouth = getdistfromtwopoints(ccenter,rsouth)

lnorth = getdistfromtwopoints(ccenter,rnorth)

least = getdistfromtwopoints(ccenter,reast)

lwest = getdistfromtwopoints(ccenter,rwest)

brt1 = false

brt2 = false

# there are two conditions to think about.

# 1: circle > rectangle

if(radius >= ldownleft and radius >= ldownright and radius >= lupperright and radius >= lupperleft):

brt1 = true

# 2: circle < rectangle

if(radius <= lnorth and radius <= lsouth and radius <= least and radius <= lwest):

brt2 = true

return brt1 or brt2

if __name__ == '__main__':

# test case

print judge(0,0,1,0,1,0,1)

2樓:匿名使用者

rectangle_center_x = (xmin + xmax) / 2;

rectangle_center_y = (ymin + ymax) / 2;

length_x_pow = (xmax - xmin) ** 2;

length_y_pow = (ymax - ymin) ** 2;

if (rectangle_center_x == center_x) && (rectangle_center_y == center_y) && ((radius * 2) ** 2 == (length_x_pow + length_y_pow)):

print("equals");

以上是偽**...

這個的思路是

先判斷是否 圓心跟矩形的中心一樣.

然後根據勾股定力判斷 半徑是否一樣.

3樓:匿名使用者

只需要判斷矩形的四條邊中是否有一條到圓心的距離小於了圓半徑即可。

用python已知圓心判斷乙個點是否在圓內?

4樓:mono教育

任意點到圓心的距離的平方為x^2 + y^2,只要在半徑內,那麼這個點就在圓內,否則在圓外。使用pow函式,判斷pow(x,2) + pow(y,2) <=1即可。

假設圓方程是 中心為(0,0),半徑為1的圓的方程:x^2+y^2=1如果點(m,n)在圓內,換到幾何上表示就是,點到圓心的距離要小於圓的半徑(這樣就是點在園內)。所以點(m,n)到圓心的距離:

(m-0)^2+(n-0)^2<1^2,也就相當於代入此圓方程時滿足m^2+n^2<1。

python

是完全物件導向的語言。函式、模組、數字、字串都是物件。並且完全支援繼承、過載、派生、多繼承,有益於增強源**的復用性。

python支援過載運算子和動態型別。相對於lisp這種傳統的函式式程式語言,python對函式式設計只提供了有限的支援。有兩個標準庫(functools, itertools)提供了haskell和standard ml中久經考驗的函式式程式設計工具。

5樓:石卒冫水

用勾股定理,判斷亮點之間的距離小於半徑。

python如何把檢測出來的邊緣畫成矩形

6樓:育知同創教育

python如何判斷變數是列表

動態語言一般用的bai都是鴨子型別,最du好不要去zhi判斷,或者限制一dao個變數的具體型別,只要這個 專變數能完成你的屬目標就可以了。python內建的方法是isinstance isinstance dict true isinstance 5,dict false isinstance di...

急題目求證圓內接平行四邊形是矩形。自己畫圖求證

已知 平行四 邊形duabcd內接於圓o,求證 abcd時矩zhi形 abcd是平行四邊形dao 專a c,b d abcd內接於圓屬 a c b d 180 圓內接四邊形對角互補 a c 180 2 90 b d 180 2 90 即 a b c d 90 abcd是矩形 求證 圓內接平行四邊形是...

圓內接四邊形,如果是平行四邊形,求證是矩形過程

因為是圓內接四邊形,所以兩條對角線的交點就是圓心,又則對角線為圓的直徑,根據直徑所對的圓周角為直角,所以有乙個角是直角的平行四邊形是矩形 圓內四邊形有個特徵。對角之和為180 點採納,給答案,稍等 求證 圓內接平行四邊形是矩形 詳細過程 任意作一條對角線,則此對角線分得兩弧度數之和為360,則所對應...