Swift 計算三角形角度 兩條邊夾角

2021-09-07 18:50:07 字數 867 閱讀 3733

計算三點之間的角度

//////

- parameters:

///- p1: 點1

///- p2: 點2(也是角度所在點)

///- p3: 點3

///- returns: 角度(180度制)

func getangleswiththreepoints(p1:cgpoint,p2:cgpoint,p3:cgpoint) ->double

let a = fabs(p1.x -p2.x)

let b = fabs(p1.y -p2.y)

let c = fabs(p3.x -p2.x)

let d = fabs(p3.y -p2.y)

if (a < 1.0 && b < 1.0) || (c < 1.0 && d < 1.0

) let e = a*c+b*d

let f = sqrt(a*a+b*b)

let g = sqrt(c*c+d*d)

let r = double(acos(e/(f*g)))

return r //

弧度值

//return (180*r/double.pi)

//角度值

}p2位置就是要計算的角度。 

ps:這個座標點是基於ios上的,左上角為原點,所以直接獲取點即可。

三角形的邊

給定三個已知長度的邊,確定是否能夠構成乙個三角形,這是乙個簡單的幾何問題。我們都知道,這要求兩邊之和大於第三邊。實際上,並不需要檢驗所有三種可能,只需要計算最短的兩個邊長之和是否大於最大那個就可以了。這次的問題就是 給出三個正整數,計算最小的數加上次小的數與最大的數之差。每一行包括三個資料a,b,c...

三角形的邊

給定三個已知長度的邊,確定是否能夠構成乙個三角形,這是乙個簡單的幾何問題。我們都知道,這要求兩邊之和大於第三邊。實際上,並不需要檢驗所有三種可能,只需要計算最短的兩個邊長之和是否大於最大那個就可以了。這次的問題就是 給出三個正整數,計算最小的數加上次小的數與最大的數之差。每一行包括三個資料a,b,c...

三角形的邊

題目描述 給定三個已知長度的邊,確定是否能夠構成乙個三角形,這是乙個簡單的幾何問題。我們都知道,這要求兩邊之和大於第三邊。實際上,並不需要檢驗所有三種可能,只需要計算最短的兩個邊長之和是否大於最大那個就可以了。這次的問題就是 給出三個正整數,計算最小的數加上次小的數與最大的數之差。輸入描述 每一行包...