Contributor
시뮬시뮬님
Reference
Paraview
Paraview: Python Programmable Filter
ParaView’s Python documentation!
VTK: Visualization Toolkit
Cornell Virtual Workshop: Paraview Programmable Filter
Paraview + Python
- 범용 Visualizaion Program인 Paraview는 전반적으로 기능이 좋습니다.
- Python을 지원해서 데이터를 만들거나(Programmable source) 수정할 수 있는데(Programmable filter), paraview에서 GUI 기반으로 작업하다가 코드를 작성하려면 막막합니다.
- VTK 문법이라 익숙하지 않으면 낯설고,
print()로 내가 다루는 데이터를 찍어보기도 만만찮거든요.
1 | pdi = self.GetPolyDataInput() |
- 위 코드를 실행하면 아래처럼 동그라미가 납작해지집니다.

Atomic structure
- 현업에서 제가 그리고 싶은 것은 원자 구조입니다.
- 원자 좌표들만 있는 table을 읽어서 화면에 그리는 것인데, 결합을 의미하는 선이 없어 잘 안보입니다.

- 계산과학 분야에서는 VESTA라는 프로그램을 사용합니다.
- 이 분야의 표준같은 전용 프로그램이라 훨씬 기능이 좋습니다.

- 그러나 제가 확인해야 하는 데이터는 여기에서 보이지 않기 때문에 손에 익은 paraview를 사용하고자 합니다.
- paraview가 VESTA처럼 원자간 연결선만 그려줘도 좋겠습니다.
Paraview Programmable Filter
- 한 시간 구글링 결과 아래와 같은 코드를 만들 수 있었습니다.
- 원자간 거리가
dist_th값보다 작으면 연결선을 그려주는 코드입니다. - Filter > Data Analysis > Programmable Filter에서 입력합니다.
1 | import numpy as np |
그리고
tube를 추가해서 선에 입체감을 부여하면 이렇게 됩니다.같은 구조에 왼쪽은 원소별, 오른쪽은 표면원자 여부를 나타낸겁니다.
다른 구조들에도 적용해서 발표자료에 담으면, 목표 달성입니다.