본문 바로가기
반응형

STL/stl - plot하기 (pyvista)8

pyvista 원근법 설정 전후 비교 코드는 아래와 같습니다. 원근법을 끌 때는 enable_parallel_projection( ) 메소드를 사용합니다. import pyvista as pv from pyvista import demos pl = pv.demos.orientation_plotter() pl.enable_parallel_projection() #원근법 제거 pl.show() 아래 왼쪽 그림은 원근법을 끈 경우이고, 오른쪽 그림은 원근법을 킨 경우입니다. 2023. 12. 15.
[파이썬] 3차원 공간에 라벨 표시하기 (pyvista) 3차원 공간에 라벨을 표시하는 방법은 아래와 같습니다. 다양한 옵션 적용이 가능합니다. import pyvista as pv #라벨 위치 정의 x_label=pv.PolyData([0,0,0]) y_label=pv.PolyData([0,10,0]) z_label=pv.PolyData([0,20,0]) # 캔버스 정의 p = pv.Plotter() #라벨 그리기 p.add_point_labels(x_label, ["x"],point_color='yellow',text_color='red', point_size=20, font_size=40,render_points_as_spheres=True,always_visible=True,show_points=False) p.add_point_labels(y_labe.. 2022. 1. 18.
[파이썬] 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.
[파이썬] 점 3차원 그래프 그리고 크기,색 설정 (pyvista) 넘파이를 이용하여 점을 생성합니다. import numpy as np import pyvista as pv point = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0.5, 0.5, -1]]) 그래프를 그려봅시다. p = pv.Plotter() # 캔버스 정의 p.add_mesh(point) p.show() 설정할 수 있는 옵션은 아래와 같습니다. add_mesh(self, mesh, color=None, style=None, scalars=None, clim=None, show_edges=None, edge_color=None, point_size=5.0, line_width=None, opacity=1.0, flip_scalars=False, l.. 2021. 11. 8.
파이썬 pyvista 모듈에서 stl 병진,회전,변환(translate, rotate, transform) 넘파이와, pyvista 모듈을 불러옵니다. import numpy as np import pyvista as pv mesh 하나를 정의합시다. 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.PolyData(vertices, faces) 병진,회전,변환 메소드는 아래와 같이 사용합니다. STL.tran.. 2021. 11. 8.
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.
[파이썬] STL 3차원 그래프 그리기 (pyvista) STL 파일을 불러와서 3차원에 시각화하려고 하는데 matplotlib 로 그리니까 너무 느리다. 심각하게 느려서 View 변경하는게 거의 불가능한 정도였다. 다른 방법을 찾던 중 pyvista 라는 패키지를 알게 되었다. 매쉬 데이터의 3차원 시각화가 목적인 패키지다. 써봤는데 엄청빠르다. 아래와 같은 형식으로 사용한다. pv.read 를 이용하여 stl을 불러오고 Plotter 함수를 이용하여 그려준다. import os import pyvista as pv path="C:/Users/python_stl" os.chdir(path) cat = pv.read('cat.stl') # Create a plot p = pv.Plotter() # 캔버스 정의 p.add_mesh(cat, opacity=1, c.. 2021. 10. 26.
반응형