如何通过附加给出的拉伸从“ 2.5D”多边形生成3D网格?最好在C ++中使用成熟且经过良好测试的库。
背景:我得到了一个Geojson文件,其中包含一个简单的类型多边形几何体,包括x,y,z数据。作为功能属性的一部分,我还获得了“挤压”参数。
我正在查看CGAL,似乎非常适合网格生成。但是我不确定如何从拉伸的2.5D数据生成几何图形,也不确定要使用哪种中间几何图形类型。
编辑:
示例数据是一个带有孔的多边形(数据的第一个环/数组是外壳,第二个数组(根据定义,所有后续数组)是孔。您可以将此示例复制粘贴到geojson.io( (虽然只会在2D模式下显示)。
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[[35, 10, 1], [45, 45, 2], [15, 40, 2], [10, 20, 2], [35, 10, 1]],
[[20, 30, 2], [35, 35, 2], [30, 20, 2], [20, 30, 2]]
]
},
"properties": {
"extrusion": 10.5
}
}