자유글

Blender로 구현하는 Zebris System

by DanielGu posted Feb 23, 2025
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요!

저는 B4D Korean Agency로 활동하고 있는 구재윤이라고 합니다.


저는 최근 B4D와 Blender로 이런저런 시도를 해보면서 디지털로 어디까지 구현해볼 수 있을까 공부 중에 있습니다.

지금부터 적어나갈 글은 B4D와 치과기공과 조금 거리가 있는, 코딩과 관련된 이야기로, 많은 분들의 관심에서 벗어난 분야일 수도 있으나, 한번쯤은 눈여겨 보시고 지나가셔도 앞으로 디지털 치의학 분야와 관련하여 견문을 넓히시는데에 도움이 되지 않을까 싶어 한번 적어봅니다. 재밌게 읽어주시면 감사드리겠습니다.


Blender가 세계 각지 여러 분야에서 이목이 집중되는 이유는 바로 드넓은 확장성에서 기인합니다.

머릿 속에 가지고 있는 아이디어와 이를 구현할 수 있는 능력이 있으면, 이를 실현할 수 있는 플랫폼은 이미 갖춰져 있다는 것이죠.


스크린샷 2025-02-23 213243.png


위의 사진에서 볼 수 있듯이, Blender의 환경은 Python Console을 지원합니다.

bpy에 대한 기초적인 지식이 있다면, 도화지에 그림을 그리듯이 원하는 동작을 구현하거나, 학습하거나 참고를 할 수 있는 점이 매우 매력적인 소프트웨어입니다.


제가 며칠 동안 진행하고 있었던 프로젝트를 공유드리겠습니다.
먼저, 환자의 하악 Zebris motion data의 X, Y, Z 축의 움직임을 행렬 데이터로 저장합니다.

행렬데이터는 기준열, X열, Y열, Z열로 구성돼있고, 각 행마다 하악 스캔데이터의 움직임이 기록된 좌표 값이 적혀있습니다.

스크린샷 2025-02-23 220848.png

이를 CSV 데이터라고 하는데, 간단한 CSV 데이터는 특별한 라이브러리 없이, 기본적으로 Blender 환경에서 조회 및 활용이 가능합니다(복잡한 CSV데이터를 활용하려면, blender 환경에 pandas라는 추가적인 라이브러리를 pip install이라는 방법으로 설치해야합니다).


이후, 환자의 스캔데이터와 Zebris movement가 기록된 CSV 파일을 Blender 환경으로 불러옵니다.

상악은 고정한채로, CSV 좌표 데이터와 하악의 움직임을 연동시켜 애니메이션을 적용합니다.

(연습에 사용된 데이터는 임의로 생성된 CSV 데이터입니다. 실제 motion tracker로 csv 데이터를 추출한다면 더욱 정확한 결과가 도출되지 않을까 싶습니다.)


스크린샷 2025-02-23 221911.png


(사진을 보시면 좌측 콘솔창에는 CSV 데이터를 불러오는 코드가 적혀있고, 하단부에는 애니메이션 키프레임이 프레임마다 적용이 돼있는 것을 확인하실 수 있습니다.)


코드를 실행시킵니다.

KakaoTalk_20250223_212312181.gif
다음과 같은 결과물을 확인하실 수 있습니다.


물론, 실제로 B4D를 사용하실 때에 이렇게 복잡한 코드를 아실 필요는 없습니다. ㅎㅎ;

순서와 기준에 맞춰서 버튼만 잘 눌러 주시면 편리한 방법으로 보철물 제작을 돕는 기능들이 많이 있습니다.



저 또한 짬짬히 자기계발로 공부한 코딩으로.. 정돈되지 못한 부분이 많고 아직까지 Ai의 도움을 많이 받고 있으나,

Exocad와 3shape에서도 찾아볼 수 있는 jaw movement 데이터 활용을 B4D로 디자인을 하면서도 활용할 수 있게, 또한 버튼 한번 클릭하여 적용할 수 있게끔 구현을 해봤다는 것이 즐거웠던 프로젝트 입니다.






Linked in과 여러 포럼들을 보면 세계 각지 치과계에서는 Blender와 3D Slicer로 수많은 프로젝트들이 진행 중에 있습니다. Ai 기술또한 매우 발달하고 있으며 이제는 체감이 어느정도 가능한 수준까지 기술력이 밀려들어오고 있습니다.


아날로그 작업의 중요성도 매우 중요하지만, 일각에서는 디지털 치의학이 급속도로 진화하고 있다는것이 두려운 시점에 각자의 자리에서 이것저것 시도해 보는것이 매우 중요하다는 생각이 듭니다.

(저는 아무래도 디지털 치의학 분야의 한계는 어디까지일지를 계속 공부해나가지 않을까 싶습니다.)


저는 요새 새로운 아이디어가 떠오를 때마다, 하나하나 기록해두고 쉬는 시간엔 어떻게 방법을 구현해볼 수 있을까를 생각하면서 방법을 공부하면서 보내고 있습니다. ㅎㅎ; 언젠가는 새롭고 효율적인 방법이 떠오르겠지, 머리를 쥐어짜보는 것도 재미있는 시간이죠..ㅎ


여러분들 중에도 코딩에 관심이 있으신 분들이 있다면 python 책을 한번쯤은 펼쳐보시는 걸 추천드립니다!

구조를 안다면, 머릿속에 구현해보고 싶은 아이디어가 있다면, 도화지는 준비돼 있습니다.


무쪼록, 재미없는 글 읽어주심 감사합니다.

기회가 된다면 새로운 주제로 한번 글 써보겠습니다.


Articles

55 56 57 58 59 60 61 62 63 64