У меня есть набор вершин и angular граней, которые вместе образуют треугольник angular меня sh:
import numpy as np
verts = [[0.1, 1., 1. ] [1., 1., 0.1] [1., 0.1, 1. ] [1., 1., 1.9] [1., 1.9, 1. ]
[1.9, 1., 1. ] ]
faces = [[ 2, 1, 0] [ 0, 3, 2] [ 1, 4, 0] [ 0, 4, 3] [ 5, 1, 2] [ 3, 5, 2]
[ 5, 4, 1] [ 4, 5, 3]]
Единственный известный мне способ создать из них треугольник angular me sh использует Poly3Dcollection
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
myMesh = Poly3DCollection(verts[faces])
Затем я хочу использовать модуль pygalme sh для создания тома me sh. Он должен взять поверхность me sh и вывести объем me sh, как показано здесь .
Согласно руководству, я должен иметь возможность создать том me sh, используя:
import pygalmesh
mesh = pygalmesh.generate_volume_mesh_from_surface_mesh(
"elephant.vtu",
facet_angle=25.0,
facet_size=0.15,
facet_distance=0.008,
cell_radius_edge_ratio=3.0,
verbose=False
)
Однако, когда я запускаю:
mesh = pygalmesh.generate_volume_mesh_from_surface_mesh(myMesh)
I возвращается:
TypeError: expected str, bytes or os.PathLike object, not Poly3DCollection
Я думаю, это потому, что я либо неправильно создаю свой me sh, либо я должен сохранить его в какой-либо форме перед использованием pygalmesh.generate_volume_mesh_from_surface_mesh
. Я не уверен. Я поднял проблему в модулях github , но пока не получил хороших отзывов.