gpt4 book ai didi

c++ - 矩形算法中的多边形?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:34:51 26 4
gpt4 key购买 nike

我有一个算法可以找到一个点是否在给定的多边形中:

 int CGlEngineFunctions::PointInPoly(int npts, float *xp, float *yp, float x, float y)
{
int i, j, c = 0;
for (i = 0, j = npts-1; i < npts; j = i++) {
if ((((yp[i] <= y) && (y < yp[j])) ||
((yp[j] <= y) && (y < yp[i]))) &&
(x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i]))
c = !c;
}
return c;
}

鉴于此,我如何让它检查它是否位于由 Ptopleft 和 Pbottomright 定义的矩形内而不是单个点内?

谢谢

基本上您知道如何在 Adob​​e Illustrator 中拖动以选择落在选择矩形内的所有对象?好吧,我的意思是。 –

最佳答案

您不能只在多边形的点中找到最小和最大 x 和 y 值并检查是否有任何值超出矩形的尺寸吗?

关于c++ - 矩形算法中的多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3453460/

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