在計算機圖形程式設計或數控加工程式設計中,通常需要通過給定的三點來确定一個圓弧,也就是要得到圓弧的半徑、圓心,以及判斷圓弧的方向
如圖所示,
為給定的三點,連接配接AB和BC,分别作AB和BC的中垂線,垂足分别為D和E,兩垂線的交點為O ( x, y) ,即為圓弧所在圓的圓心。通過OD和OE的斜率可得如下方程組:
解上面方程組,可得
圓心坐标為:
半徑:
其中:
設A,B,C 三點與圓心的連線同平行于X軸的線的夾角分别為
,θ 的變化範圍為[ - π, π] , 而θ/2 在(- π/2, π/2] 範圍内單調遞增,是以通過θ/2 的正切來判斷,如:
其中A’為AR連線的中點,則:
存在兩種情況:
(1)
都在( - π, 0] 或( 0, π] 區間
(2)
不同在( - π, 0] 或( 0, π] 區間,但肯定有兩個是在同一區間
可以通過乘積來判斷是否在同一區間,大緻過程如下:
如果
說明這兩角在不同區間,則如果
則圓弧為逆時針方向,否則為順時針方向
如果
說明這兩角在相同區間,則如果
則圓弧為順時針方向,否則為逆時針方向
轉載于:https://www.cnblogs.com/theLibra12/archive/2010/12/20/1911372.html