gpt4 book ai didi

algorithm - 两个凸多边形的交集

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:25 28 4
gpt4 key购买 nike

我有两个凸多边形。多边形被实现为其顶点的循环列表。如何找到这两个多边形的交点?

最佳答案

For each edge V1-V2 in the first polygon,
Let H := Half-plane tangenting V1-V2, with the remaining
vertices on the "inside".
Let C := New empty polygon.
For each edge V3-V4 in the second polygon,
Let X := The intersection between V3-V4 and H.
If V3 inside H, and V4 is outside H then,
Add V3 to C.
Add X to C.
Else if both V3 and V4 lies outside H then,
Skip.
Else if V3 outside H, and V4 is inside H then,
Add X to C.
Else
Add V3 to C.
Replace the second polygon with C.

这应该足以满足简单的使用; 10-20 个顶点并且不重新计算每一帧。 — O(n2)


这里有几个链接:

关于algorithm - 两个凸多边形的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101288/

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