【问题标题】:Finding two "bounding" vertices of a given polygon w.r.t. a known (light source) point查找给定多边形 w.r.t 的两个“边界”顶点。已知(光源)点
【发布时间】:2021-12-08 03:02:55
【问题描述】:

上下文:我提前为这个问题的不严谨性表示歉意,因为事实证明它比我最初想象的更难表述。我将通过不同的方法在给定多边形 w.r.t 的 2D 空间中找到两个“边界”顶点。到一个已知点。在这种情况下,“边界”顶点是指this image 最能描述的情况。 IE。让p 成为已知点并假设我们在p 放置一个光源。那么多边形P(x_1,...,x_n) 的边界顶点就是这两个点v_1, v_2,连接线段l(v_1, v_2) 阻挡来自p 的光,就像整个多边形P(x_1,...,x_n) 一样。

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

【问题讨论】:

标签: algorithm graphics geometry computational-geometry


【解决方案1】:

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

LeftOf 检验只是 2x2 行列式的标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-13
    • 2011-09-19
    • 2013-04-29
    • 2019-10-23
    • 2013-07-18
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多