从拉伸多边形构建多面体

Building a polyhedron from an extruded polygon

本文关键字:构建 多面体 多边形      更新时间:2023-10-16

我认为这应该很简单,但是我已经搜索了很长时间,并没有很好地找到示例:

我有像 geojson 一样的多边形类型:简单类型 OGR 多边形,带有环向量,其中外环是壳,其他环定义孔。

构成环的点以 3D 形式给出,但您可以假设多边形是平坦的,但使用 z。

现在,我想从该多边形创建一个具有一些给定拉伸的多面体。我需要应用什么算法?

对于输入面的每个边(v1, v2),您可以为输出多面体创建一个四边形,坐标为:

v1.x v1.y v1.z
v2.x v2.y v2.z
v2.x v2.y v2.z + extrudeHeight
v1.x v1.y v1.z + extrudeHeight

最后,以相反的顺序添加基础多边形(包括其孔(,z移动extrudeHeight

如果多边形的方向一致,则输出多面体也将具有一致的方向。

我假设您的多边形具有恒定的 z 坐标。如果这不是您的意思,请发表评论。