1 三點決定乙個圓,切不能3點一線
**塊:
---@return unityengine.vector3
---@return number
function fishtools.getcircle(pt1, pt2, pt3 )
local radius
local x1,x2,x3 = pt1.x, pt2.x, pt3.x
local y1,y2,y3 = pt1.y, pt2.y, pt3.y
local a = x1 - x2
local b = y1 - y2
local c = x1 - x3
local d = y1 - y3
local e = ((x1 * x1 - x2 * x2) + (y1 * y1 - y2 * y2)) / 2.0
local f = ((x1 * x1 - x3 * x3) + (y1 * y1 - y3 * y3)) / 2.0
local det = b * c - a * d
if( math.abs(det) < 0)then
radius = -1
return vector3(0,0)
endlocal x0 = -(d * e - b * f) / det
local y0 = -(a * f - c * e) / det
radius = math.sqrt((x1 - x0)*(x1 - x0)+(y1 - y0)*(y1 - y0))-- hypot(x1 - x0, y1 - y0)
return vector3(x0, y0),radius
end
2圓弧方向判斷方法
根據p1,p2,p3 的順序計算圓弧的方向p1_p3的方向是順時針還是逆時針
設p1=(x1,y1)
p2=(x2,y2)
p3=(x3,y3)
求向量
p12=(x2-x1,y2-y1)
p23=(x3-x2,y3-y2)
則當 p12與p23的叉乘(向量積)
p12 x p23 = (x2-x1)*(y3-y2)-(y2-y1)*(x3-x2)
為正時,p1-p2-p3 路徑的走向為逆時針,
為負時,p1-p2-p3 走向為順時針,
為零時,p1-p2-p3 所走的方向不變,亦即三點在一直線上。
可以應用在判斷三點確定圓弧,圓弧是逆時針畫,還是順勢針畫。
3 已知圓上p1,p2,p3 三點 求3點的連線成的弧的角度
(應該是夾角 和 弧方向一起決定角度)0)根據1求出圓心c
1)根據2的知識點求出弧度的方向
2)求出x軸到p1向量的角度,記 angle1,求出x軸到p3向量的角度,記 angle2
3)(1,0) 到 起始點的逆時針角度 angle1,(1,0) 到 終點的逆時針角度 angle2
如果方向是逆時針那麼 之間的角度為:angle2-angle1 ,順時針為 angle1-angle2。如果小於0+360
local vr = unityengine.vector3.cross(p1_p2, p2_p3)
if(vr.z>0)then--逆時針
moveangle = angle2-angle1
else--順時針
moveangle = angle1-angle2
end
三點決定乙個圓
圓弧方向判斷方法和三點確定乙個圓的計算方法
機器學習用到的數學知識
有無數激情滿滿大步向前,誓要在機器學習領域有一番作為的同學,在看到公式的一刻突然就覺得自己狗帶了。是啊,機器學習之所以相對於其他開發工作,更有門檻的根本原因就是數學 每乙個演算法,要在訓練集上最大程度擬合同時又保證泛化能力,需要不斷分析結果和資料,調優引數,這需要我們對資料分布和模型底層的數學原理有...
python數學知識 數學知識回顧01
常見函式 常見函式 y c 一次函式 y ax b 二次函式 y ax 2 bx c 冪函式y x a 指數函式 y a x,a的取值範圍為 a 0 a 1 對數函式 y loga x a的取值範圍為 a 0 a 1 導數乙個函式在某一點的導數描述了這個函式在這一點附近的變化率,也可以認為是函式在某...
數學知識集合
1.尤拉函式 p 為n的質因子 varphi n n times pi 1 frac 1 n中與n互質的數的和 frac times varphi n 如果a,b互質,那麼 varphi ab varphi a times varphi b 與n所有約數互質的個數的和為n sum varphi d ...