본문 바로가기

컴퓨터그래픽스4

[Mesh] vtk 라이브러리로 STL 파일 scratch 부터 rendering 하기 STL 파일은 렌더링될 모델에 대한 정보를 담고 있는 파일이다! 저번 포스팅에서도 말했다 싶이 모델의 기본은 보통 삼각형(polygon)인데, 이 STL 파일에서는 어떻게 들어가 있는지 한번 살펴보도록 하자. 이 3D 에 대한 정보를 담고 있는 STL 파일은 ascii 로 인코딩 된 경우만 이렇게 메모 패드로 열어볼 수 있다. 만약 binary 로 인코딩 된 경우 절대 메모 패드를 통해 열어볼 수 없다. 설령 python의 open 을 이용해서 바이러니 파일을 열었다고 쳐도, 첫번째 문장인 solid teaset 말고는 읽을 수 있는 것이 하나도 없을 것이다. 그러니까 꼭 이 포스팅을 참고하기 전에 STL 파일이 ascii 파일인지, binary 파일인지 확인해보길 바란다... 만약 binary 파일인데.. 2022. 1. 14.
[Mesh]vtk 라이브러리로 polydata 만들기 그러니까 mesh 만들기! 일단 vtk 에서는 적절한 polydata를 만들어주면 그거를 rendering 해준다 렌더링에 대한 코딩은 접어두고 적절한 polydata를 어떻게 만들 것인지에 먼저 집중해보자 #1. mesh의 기본이 되는 삼각형(polygon) 혹은 사각형 2차원에서 간단한 삼각형을 만들어보자 이 삼각형이 쌓여서 우리는 mesh data를 만들게 된다. 쉽게 생각하자면. vtkPoints()를 통해서 포인트의 위치 정보를 저장 vtkTriangle()을 통해서 포인트의 순서 정보를 저장(하나의 cell) vtkCellArray()을 통해서 cell을 뭉텅이화 points = vtk.vtkPoints() points.InsertNextPoint(0.0, 0.0, 0.0) points.Ins.. 2022. 1. 12.
[Mesh] vtk 라이브러리 전 폴리곤 메쉬란 vtk 라이브러리 말고도 3D 렌더링을 해주는 라이브러리가 파이썬에는 많은 것 같다. 그건 그렇고. vtk 라이브러리 전에 간략하게 3D 데이터에 대해서 알아보자. 일단! 무엇보다도! 딥러닝 분반을 잘 골라서 수강했다는 생각이 들었다. 당시에 GNN을 처음 배웠는데 지금 하는 mesh랑 의외로 비슷하게 흘러가는 느낌이 있어서 이해하기 쉽다(고 생각한다. 실제로 정확하게 이해했는지는 모르겠지만) 한편 아쉽기도 하다. 교수님이 조금 더 빠르게 진도를 나가셨다면 polygon mesh 에 대한 설명도 다 들을 수 있었을텐데 하는.. ㅠ 기본적으로 2D 그래프를 보자. 2D의 그래프 기본은 Node 와 Edge 다. Node 들은 Edge를 통해서 연결된다. Node 들 마다 어떤 feature가 있을 수 있다.. 2022. 1. 11.
[Mesh] VTK 라이브러리 2차원 이미지를 읽을 때, 보통 opencv 나 matplotlib.pyplot을 많이 쓰곤 한다. 그렇다면 3D 이미지는 어떻게 시각화할 것인가? *시각화는 렌더링으로 표현한다 바로 이 vtk 라이브러리를 이용한다. https://vtk.org/ VTK - The Visualization Toolkit The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting ca.. 2022. 1. 10.