gpt4 book ai didi

c++ - 不规则形状的区域

转载 作者:可可西里 更新时间:2023-11-01 17:03:16 27 4
gpt4 key购买 nike

我有一组位于图像上的点。这些点集形成一个不规则的闭合形状。我需要找到这个形状的面积。是否有任何主体是用于计算面积的常规算法?或者库中是否有可用的支持,例如 boost?我正在使用 C++。

最佳答案

如果您的多边形很简单(除了成对的连续线段外没有任何共同点),那么维基百科可以帮助您:

面积的公式是

alt text

(假设最后一点与第一点相同)

你可以很容易地实现它

float area = 0.0f;

for (int i = 0; i < numVertices - 1; ++i)
area += point[i].x * point[i+1].y - point[i+1].x * point[i].y;

area += point[numVertices-1].x * point[0].y - point[0].x * point[numVertices-1].y;

area = abs(area) / 2.0f;

当然,顶点必须根据它们在多边形中的自然跟随顺序排序..

关于c++ - 不规则形状的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com