numpy-stl mesh 데이터를 pyvista PolyData 로 바꾸기가 힘든 이유
numpy-stl 의 mesh 모듈에서 stl 을 생성하는 방식을 먼저 알아보겠습니다. mesh 모듈에서는 하나의 face 를 구성하는 점의 좌표만을 이용하여 face 를 정의합니다. 어떤 face1 을 구성하는 점의 좌표가 p1,p2,p2 라고 한다면 아래와 같이 정의되는 것입니다. face1=[p1,p2,p3] p1,p2,p3는 각각 크기가 3인 벡터입니다. 반면! pyvista 는 사용할 점들을 모아놓은 배열을 정의하고, 배열의 인덱스를 가져다가 face 를 정의합니다. 예를들어 face1 을 구성하는 점이, 점들을 모아놓은 배열에서 각각 2,8,4 번째라면 face1 은 아래와 같이 정의됩니다. face1=[2,8,4] 자, 이제 numpy-mesh 로 정의된 stl 을 pyvista 로 변환해야..
2023. 12. 8.
[numpy-stl] stl 생성 원리
numpy-stl 에서 정사면체를 생성하는 예제는 아래와 같습니다. import numpy as np from stl import mesh # mesh points vertices = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]]) # mesh faces faces = np.array([[0,1,2], # square [0,1,3], # triangle [0,2,3], [1,2,3]]) # triangle # Create the mesh cube = mesh.Mesh(np.zeros(faces.shape[0], dtype=mesh.Mesh.dtype)) for i, f in enumerate(faces): for j in range(3): cube.vec..
2023. 5. 26.