2017-08-17 61 views
0

如果我有一個角度矩形的座標列表coords = [(7, 354), (307, 339), (304, 296), (4, 311)]。我希望能夠將這四個點轉換爲x,y,w,h,o格式。將四個x,y座標轉換爲質心,寬度高度和方向(py)

如何將x,y對的這些轉換爲質心,寬度,高度和方向?質心很容易計算寬度和高度。如何定位?

我理想的是尋找一種在兩者之間切換的簡單方法。恩。 convert_to_xywho()convert_to_xy_list()

p1, p2 = end[:2] 
p3, p4 = end[2:] 
w = math.hypot(p2[0] - p1[0], p2[1] - p1[1]) 
h = math.hypot(p3[0] - p2[0], p3[1] - p2[1]) 
c = [[p1[0], p2[0], p3[0], p4[0]], [p1[1], p2[1], p3[1], p4[1]]] 
centroide = (sum(c[0])/len(c[0]),sum(c[1])/len(c[1])) 

如何找到方向任何建議。並將此方向應用於x,y,w,h,o以獲取x,y對的列表

注意:我使用PyGame座標系,其中原點位於左上角。

+0

什麼是「定位」定義爲? –

回答

1

方向來自一條線段的傾斜。

tan(theta) = (y2-y1)/(x2-x1) 

我懷疑你可以從那裏完成。

相關問題