본문 바로가기
STL/stl - plot하기 (pyvista)

파이썬 pyvista 모듈에서 stl 병진,회전,변환(translate, rotate, transform)

by 만다린망고 2021. 11. 8.
반응형

넘파이와, 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.translate(np.array([x,y,z]))
STL.rotate(vector, angle, point=None)
STL.transform(matrix) ; 4x4 행렬


transform 예시

 

>>> transform_matrix = np.array([[1, 0, 0, 50],
...                              [0, 1, 0, 100],
...                              [0, 0, 1, 200],
...                              [0, 0, 0, 1]])
>>> transformed = mesh.transform(transform_matrix)

 

반응형

댓글