如何计算由属于至少一个给定圆的点集形成的轴对齐最小边界框的面积



我有一个问题,目的是计算由圆的一组点组成的轴对齐最小边界框的面积。

Array x = [x1, x2, x3]
Array y = [y1, y2, y3]
Array r = [r1, r2, r3]

x-x坐标、y-y坐标和半径

关于如何接近,有什么提示吗?

由于边界框与轴对齐,因此您只需要关注每个圆中最左、最右、最高和最低点。以半径为r1的(x1,y1)为中心的圆的最左边的点是点(x1-r1,y1)。因此,在Python代码中,边界框左点的x坐标位于

xmin = min(x[k]-r[k] for k in range(len(x)))

xmax、ymin和ymax也是如此。

如果你不想要Python生成器表达式,你可以使用没有它们的另一种语言,或者数组太大,无法在它们上循环四次,只需在数组索引上循环一次,然后找到x[k]-r[k]、x[k]+r[k]等的最小值。

最新更新