从拉伸多边形构建多面体
Building a polyhedron from an extruded polygon
我认为这应该很简单,但是我已经搜索了很长时间,并没有很好地找到示例:
我有像 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 坐标。如果这不是您的意思,请发表评论。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 用CMake构建C++协议
- 从拉伸多边形构建多面体