數學 求三角形的外接圓圓心

2021-09-17 21:42:12 字數 1647 閱讀 7279

三角形的三條邊的垂直平分線一定相交於一點,這點是三角形外接圓圓心,即外心。

證明中垂線相交於一點:

∵xx′,yy′分別是△abc的bc邊與ac邊的中垂線,

∴xx′,yy′必相交於一點,設為o(否則,xx′∥yy′,那麼∠c必等於180°,這是不可能的).

∵ob=oc,oc=oa,∴ob=oa,

∴o點必在ab的垂直平分線zz′上,∴xx′,yy′,zz′相交於一點。

**:

def ********_csc(pts):  # pts是乙個3行2列的二維陣列,儲存著乙個三角形的三個頂點

rows, cols = pts.shape

a = np.bmat([[2 * np.dot(pts, pts.t), np.ones((rows, 1))],

[np.ones((1, rows)), np.zeros((1, 1))]])

# np.bmat從陣列建立矩陣, pts.t是轉置

b = np.hstack((np.sum(pts * pts, axis=1), np.ones((1))))

# hstack的字母h來自於horizontal,表示兩個陣列是水平的,hstack((a,b))將把b排在a的右邊的意思

x = np.linalg.solve(a, b)

# solve函式有兩個引數a和b:a是乙個n*n的二維陣列,而b是乙個長度為n的一維陣列;

# solve函式找到乙個長度為n的一維陣列x,使得a和x的矩陣乘積正好等於b,陣列x就是多元一次方程組的解

bary_coords = x[:-1] # 除去x陣列的最後乙個元素

# tile函式將乙個陣列重複一定次數形成乙個新的陣列

# tile(a,(m,n)):即是把a陣列裡面的元素複製n次放進乙個陣列c中,然後再把陣列c複製m次放進陣列b

# np.sum(arr, axis=0), 表示按列相加 (axis=1表示按行相加)

python**和上述直推公式都不直觀,下面給乙個更直觀的構造方式

求大三角形中三角形個數

一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...

求三角形性質

作 者 b23 完成日期 2014年 10 月 31 日 版 本 號 v1.0 輸入描述 輸入三角形的三邊 a,b,c,值,根據其數值,判斷是否能構成三角形,若能,還有判斷其三角形的性質 等邊三角形,等腰三角形,直角三角形和任意三角形。using system using system.collec...

三角形的外接圓 計算幾何

給定三角形三點座標 三點不會在同一直線 和乙個點 x,y 要你判斷點 x,y 是否在三角形外接圓之外。若在圓外,輸出 accepted 若在圓上或圓內,則輸出 rejected sample input 3 2 0 0 2 2 0 2 2 2 0 0 2 2 0 0 2 2 0 0 2 2 0 1 ...