이런 대인배를 봤나
Voxmap은 없지만, Mesh의 Point Shell을 만들어주는 소스를 구했다.
소스 실행방법이 쉽지만은 않으니 요약을 해두겠다.
Dan Morris - Voxelizer
http://techhouse.brown.edu/~dmorris/projects/voxelizer/
자
그럼 먼저 Voxmap Point-Shell 은 무엇인가.
- Haptic Rendering시 두개의 메시를 Voxel map(Voxmap)과 Point Shell로 표현한 것
- Voxmap 메시와 Point Shell 메시가 충돌했을 때, Point Shell의 노말(초록색화살표)에 대입되는 탄젠트 평면을 만든다.
- 그 탄젠트 평면과 Voxmap의 객체의 경계와의 거리(d)를 통해 Point Shell Mesh가 충돌 후 얼마나 깊게 들어갔는지 판단하고, Force Feedback의 크기를 결정한다.
- 가장 기초적인 Force Model로 이 공식에서의 d는 위에서 설명한 거리이다.
* F : Force, K_{ff} : Stiffness - 이 Stiffness는 UTM 물성 측정 이후 결정 될 것이다.
Voxelizer 소스 구동 방법
아.. 정말 감동이야 이건 대인배
Dan Morris님 찬양, 두달? 세달? 정도의 시간을 벌었다.
우선 아까 맨위에 설명한 사이트에서 소스를 다운받는데
Source Zip파일, CHAI3D, winmeshview 요 세가지가 필요하다.
다운받자.
먼저 Voxelizer의 소스 Zip파일을 압축풀고 솔루션을 실행하면
요렇게 소스가 나오는데, 여기서 winmeshview는 소스 내부에 포함되어 있지 않다.
따라서, winmeshview는 Voxelizer의 소스 경로와 같은 경로에 압축을 풀어준다.
- C:\voxelizer\src : 소스경로
- C:\winmeshview\ : winmeshview 소스 경로
* 그러니까 voxelizer폴더 안에 넣지말고 같은 레벨에 넣으라는 뜻이야
이렇게 세팅을 하고나서
CHAI3D는 걍 아무데나 풀고 (왠만하면 라이브러리 몰아두는 폴더에 같이 퐁당)
환경변수 설정을 해야한다.
이렇게, 물론 변수 값은 설치경로겠지요?
이렇게 하면 기본 세팅은 끝
어쨋든 소스가 확보되었으니 이보다 좋을 수 없다.
잘 분석해서 적용하자
릴리즈 실행
아름답다......
그래서 내 개다리뼈 모델을 돌려봤다.
왼쪽이 Surface Model, 오른쪽이 Point Shell Model
그래서 이걸 줌인 해봤다.
물론 Surface 제거했지롱
빨간색이 내부 Point Shell, 초록색이 외부(경계) Point Shell로
- 깊이를 계산 할 필요가 없다는 거
이제 Surface Model로 구성되었던 내 개다리뼈를 Volume Model로 재구성 할 필요없이
이 코드만 잘 분석해서 적용하면 되겠단 말씀!!
'Haptic Rendering > Force Simulator' 카테고리의 다른 글
'06 - Haptics and Physical Simulation for Virtual Bone Surgery (0) | 2014.06.10 |
---|---|
Haptic Feedback for Augmented Reality (0) | 2014.06.10 |