繁体   English   中英

在已知(光源)点上找到给定多边形的两个“边界”顶点

[英]Finding two "bounding" vertices of a given polygon w.r.t. a known (light source) point

上下文:我提前为问题的不严谨性道歉,因为事实证明它比我原先想象的更难表述。 我将通过不同的方法在给定多边形的二维空间中找到两个“边界”顶点到已知点。 在这种情况下,“边界”顶点是指这张图片最能描述的情况。 即让p成为已知点并想象我们在p处放置一个光源。 那么多边形P(x_1,...,x_n)的边界顶点是连接线段l(v_1, v_2)以与整个多边形P(x_1,...,x_n)相同的方式阻挡来自p的光的那两个点v_1, v_2 P(x_1,...,x_n)确实如此。

问题:我已经有了一个解决方案,可以通过旋转角度 wrt 来比较P的顶点与p 然而,这种方法需要使用三角函数 atan2 函数,所以我很想知道是否有一种计算成本更低的方法。

选择一个任意的起始顶点,让 A。现在选择另一个,让 B,并检查它是否位于 FA 的左侧。 如果是,继续FB等等。 同时对左和右执行此操作。

LeftOf 测试只是 2x2 行列式的一个标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM