본문 바로가기

기타/3D 메쉬 데이터8

[rendering]depthmap & focal, position, viewup 저번 시간에 불러왔던 teapot을 데려오자. 이번엔 반만 있는 애가 아니고 완전한 teapot이다. 그냥 렌더링 하면 이렇게 생겼다. 3D 물체는 3D로 보는게 맞지만, 공유하기에는 불편하다. 마우스로 빙글빙글 회전시킬 수 있지만 그걸 이런 텍스트로 공유하기는 어렵지 않은가? 그래서 이렇게 3D로 그리지 않고 2D로 그리면서, 입체감을 살릴 수도 있다. 렌더링의 기법 중 하나가 바로 그 depth map이다. 위 teapot의 depthmap이다. 카메라 렌즈로부터 빛을 쏘아서 반사되는 길이? 를 가지고 2D 이미지에 깊이를 반영한다. filter = vtk.vtkWindowToImageFilter() filter.SetInput(renWin) filter.SetScale(1) filter.SetInp.. 2022. 2. 8.
[BBox] AABB vs OBB [reference] https://handhp1.tistory.com/6 메쉬데이터를 감싸는 bounding box 그 박스를 어떻게 만들 것인가? (1) AABB : axis aligned bounding box 기저 벡터를 기준으로 bounding box를 만든다 즉 bounding box의 surface의 normal과 x,y,z 축은 일치한다. 이렇게 하면 물체를 회전할 때마다 새로 bounding box를 쳐주어야 한다는 단점이 있다. 그러나 물체간 충돌을 빠르게 계산할 수 있다. (2) OBB object-oriented bounding box OOBB라고도 한다. 솔직히 그림만 보면 바로 느낌이 오지 않는가? 기저 벡터와 surface의 normal이 일치하지 않는 경우이다. 이렇게 하면 .. 2022. 1. 25.
[Autoencoder] Exploring Generative 3D Shapes Using Autoencoder Networks 요약 보호되어 있는 글 입니다. 2022. 1. 25.
[Mesh] vtk 라이브러리로 STL 파일 scratch 부터 rendering 하기 STL 파일은 렌더링될 모델에 대한 정보를 담고 있는 파일이다! 저번 포스팅에서도 말했다 싶이 모델의 기본은 보통 삼각형(polygon)인데, 이 STL 파일에서는 어떻게 들어가 있는지 한번 살펴보도록 하자. 이 3D 에 대한 정보를 담고 있는 STL 파일은 ascii 로 인코딩 된 경우만 이렇게 메모 패드로 열어볼 수 있다. 만약 binary 로 인코딩 된 경우 절대 메모 패드를 통해 열어볼 수 없다. 설령 python의 open 을 이용해서 바이러니 파일을 열었다고 쳐도, 첫번째 문장인 solid teaset 말고는 읽을 수 있는 것이 하나도 없을 것이다. 그러니까 꼭 이 포스팅을 참고하기 전에 STL 파일이 ascii 파일인지, binary 파일인지 확인해보길 바란다... 만약 binary 파일인데.. 2022. 1. 14.