2017-08-17 56 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) 

我怀疑你可以从那里完成。

相关问题