본문 바로가기
반응형

pyvista4

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.
[파이썬] 3차원에 선 그리기 (pyvista) 3차원 공간에 선을 그리는 방법은 아래와 같습니다. import pyvista as pv #선 정의 x_axis=pv.Line((0,0,0),(150,0,0)) y_axis=pv.Line((0,0,0),(0,150,0)) z_axis=pv.Line((0,0,0),(0,0,150)) # 캔버스 정의 p = pv.Plotter() # 선 그리기 p.add_mesh(x_axis,color='yellow') p.add_mesh(y_axis,color='yellow') p.add_mesh(z_axis,color='yellow') #그래프 보이기 p.show() 2022. 1. 18.
pyvista 자료형인 PolyData 에서 사용가능한 메소드들 pyvista에서 stl을 생성하거나, point cloud를 생성하거나, stl 을 불러올 때 사용하는 메소드는 pv.PolyData 입니다. PolyData에서 사용가능한 메소드들을 살펴봅시다. 먼저 PolyData 를 하나 생성하였습니다. import numpy as np import pyvista as pv # mesh points vertices = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0.5, 0.5, -1]]) # mesh faces faces = np.hstack([[4, 0, 1, 2, 3], # square [3, 0, 1, 4], # triangle [3, 1, 2, 4]]) # triangle mesh = pv.PolyDa.. 2021. 11. 8.
pyvista 매쉬 생성 원리 pyvista에서는 아래 형식으로 매쉬를 생성합니다. import pyvista as pv mesh = pv.PolyData(vertices, faces) vertices는 매쉬 생성에 사용되는 점이고, faces는 면에 대한 정보입니다. 아래는 pyvista documentation 에서 제공하는 예시입니다. import numpy as np import pyvista as pv # mesh points vertices = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0.5, 0.5, -1]]) # mesh faces (일렬로 나열한 것과 같음) faces = np.hstack([[4, 0, 1, 2, 3], # square [3, 0, 1, 4],.. 2021. 11. 8.
반응형