Python Meshpy三角形-复合几何体
从技术上讲,是否可以从两个未连接的几何体(所提供几何体的所有区域之间没有连接)生成具有Meshpy的网格 具体来说,我通过Shapely创建几何图形,如下所示:Python Meshpy三角形-复合几何体,python,mesh,shapely,Python,Mesh,Shapely,从技术上讲,是否可以从两个未连接的几何体(所提供几何体的所有区域之间没有连接)生成具有Meshpy的网格 具体来说,我通过Shapely创建几何图形,如下所示: s = Polygon(shell=[[-1, -1], [1, -1], [1, 1], [-1, 1]], holes=[[[-0.5, -0.5], [-0.25, -0.5], [0, 0], [-0.25, 0]], [[0.1, -0.0]
s = Polygon(shell=[[-1, -1], [1, -1], [1, 1], [-1, 1]],
holes=[[[-0.5, -0.5], [-0.25, -0.5], [0, 0], [-0.25, 0]],
[[0.1, -0.0], [0.25, -0.0], [.5, 0.5], [.3, 0.3]]]
)
t = Polygon(shell=[[2, -1], [4, -1], [4, 1], [2, 1]])
r = Polygon(shell=[[5, -1], [7, -1], [7, 1], [5, 1]])
然后我用这三个单一多边形创建了一个多多边形
multipolygon = Multipolygon([r,s,t])
我的啮合代码如下所示:
def mesh(
points,
facets,
holes,
control_pts,
mesh_sizes,
):
mesh = triangle.MeshInfo() # create mesh info object
mesh.set_points(points) # set points
mesh.set_facets(facets) # set facets
mesh.set_holes(holes) # set holes
# set regions
mesh.regions.resize(len(control_pts))
region_id = 0
for (i, cp) in enumerate(control_pts):
mesh.regions[i] = [cp[0], cp[1], region_id, mesh_sizes[i]]
region_id += 1
mesh = triangle.build(
mesh,
min_angle=20,
mesh_order=2,
quality_meshing=True,
attributes=True,
volume_constraints=True,
)
return msh
但不幸的是,我自动出现了以下错误:
self.holes[i] = hole
ValueError: value must be a sequence of length self.unit
你有解决这个问题的办法吗
谢谢大家!