자연생태 · 제작기

3D 인체 해부도

프로젝트 소개

무엇인가

3D 인체 해부도는 사람 몸의 구조 3,562개를 브라우저에서 돌려 보며 이름과 설명을 찾아보는 페이지입니다. 뼈대(치아·연골 포함), 관절·인대, 근육(힘줄·근막·윤활주머니 포함), 심혈관(심장 네 방과 판막, 동맥·정맥), 림프기관(지라·가슴샘·편도·주요 림프절 무리), 신경(뇌의 이랑·고랑과 속구조, 뇌신경 12쌍, 척수와 주요 말초신경), 내장(호흡·소화·비뇨생식·내분비) 일곱 계통으로 나뉩니다. 뼈 위에 근육이 시작하는 자리(이는곳, 빨강)와 붙는 자리(닿는곳, 파랑) 705곳도 따로 켤 수 있습니다.

이렇게 써보세요

자료와 방법

3D 모델은 오픈 해부 아틀라스 Z-Anatomy(CC BY-SA 4.0)가 배포한 계통별 FBX 파일입니다. Z-Anatomy는 일본 생명과학데이터베이스센터의 BodyParts3D(성인 남성 1인의 CT·MRI 기반, CC BY-SA 2.1 JP)를 바탕으로 뇌·신경·림프기관을 보강했습니다. 웹에서 볼 수 있도록 glTF로 바꾸고 폴리곤을 원본의 약 53%로 줄였습니다(총 약 400만 개). 계통은 켤 때마다 따로 내려받습니다.

명칭은 대한해부학회 『해부학용어』의 우리말 용어를 앞에 두고, 임상에서 흔히 쓰는 한자어와 Terminologia Anatomica 라틴어를 함께 적었습니다. 모든 부위에 한 줄 요약을 달았고, 주요 구조 417개에는 위치·구조, 기능(근육은 이는곳·닿는곳·작용·신경지배), 혈액 공급, 임상 의의를 몇 문단으로 정리했습니다.

한계와 주의

"뼈, 근육, 혈관, 림프까지 인체의 모든 부분을 3D로 볼 수 있는 해부도를 만들어 달라." 주문은 이랬고 기준은 의대 졸업생도 감탄할 수준이었다. 처음 정한 원칙은 하나다. 해부 모델은 손으로 그리지 않는다. 공개된 의학용 메시를 가져와 웹에서 돌아가게 만들고, 그 위에 이름과 설명을 얹는다.

BodyParts3D에서 Z-Anatomy로

먼저 일본 생명과학데이터베이스센터의 BodyParts3D를 받았다. 부위마다 국제 해부학 온톨로지(FMA) 번호가 붙은 OBJ 파일 2,200여 개다. 그런데 목록을 훑어보니 말초신경은 눈 주변 31개뿐이고 림프절은 하나도 없었다. 림프를 보여 달라는 주문을 채울 수 없었다. 다른 자료를 찾다가 BodyParts3D를 바탕으로 뇌·신경·림프를 보강한 Z-Anatomy가 계통별 FBX 파일을 GitHub에 올려 두었다는 걸 알았다. 이쪽으로 갈아탔다.

라이선스에서 두 개를 뺐다

Z-Anatomy의 라이선스 문서를 읽어 보니 대부분은 CC BY-SA지만 내이 모델과 신장 모델 하나는 비상업(NC) 조건이었다. 이 사이트에는 광고가 붙으므로 NC 자료는 쓸 수 없다. 메시를 하나씩 열어 보니 신장은 폴리곤 3천 개 남짓의 BodyParts3D 원본이었고, 달팽이와 안뜰은 BodyParts3D에 없는 정밀 모델이었다. 그래서 내이만 빼고 신장은 남겼다.

웹에 올릴 크기로

FBX를 glTF로 바꾸니 일곱 계통을 합쳐 폴리곤 750만 개, 190MB였다. 메시 단순화(meshoptimizer)로 경계를 고정한 채 폴리곤을 줄이고, 좌표를 양자화해 압축했다. 결과는 31MB이고 계통별로 나눠 켤 때만 받는다. 처음 화면에 뜨는 뼈대는 7MB다. 파일 안에는 화면 라벨용 작은 판 1,500여 개가 섞여 있었는데, 이름 끝 표시(.j, .t)로 골라내 지웠다.

변환을 마치고 근육을 켰더니 온몸이 하얀 마네킹처럼 나왔다. 압축 도구의 중복 제거 단계가 ‘속성이 같은 재질’을 하나로 합치면서, 모두 같은 회색이던 근육·힘줄·근막 재질이 이름째 사라진 탓이었다. 재질은 합치지 않도록 바꾸자 근육은 붉게, 힘줄은 희게, 근막은 거의 투명하게 돌아왔다.

뼈 위의 빨강과 파랑

뼈대 파일에는 뼈가 277개뿐이고 나머지 705개는 ‘Temporalis muscle.o2r’ 같은 이름의 조각이었다. 근육이 뼈에서 시작하는 자리(origin)와 붙는 자리(end)를 뼈 표면에 칠해 둔 것이다. 버리지 않고 ‘근육 부착부’ 레이어로 분리했다. 해부학 시험에서 가장 많이 외우는 내용이 바로 이것이다.

2,035개의 이름

부위와 그룹 이름 2,035개에 우리말 용어, 한자어, 라틴어, 한 줄 요약을 붙이는 일은 AI 작업자 다섯에게 나눠 맡겼다. 중요한 구조 417개에는 기능과 임상 의의를 몇 문단씩 더 썼다. 확신이 없는 라틴어는 비워 두라고 했고, 실제로 열댓 개가 비어 돌아왔다. 깨진 이름 두 개(‘????????’)는 목록 안 위치로 추정해 ‘(추정)’이라고 표시했다.

검증은 여기까지다

모델 변환은 부위 수를 스크립트로 맞춰 봤고, 헤드리스 브라우저로 검색·클릭·하이라이트·계통 켜기·링크 열기를 확인했다. 명칭과 설명은 『해부학용어』 원문이나 임상의의 감수를 거치지 않았다. 잔가지 혈관, 세부 인대, 뇌 고랑의 우리말 용어처럼 틀리기 쉬운 곳이 있을 것이다. 고칠 곳이 보이면 문의로 알려 주시길 바란다.

3D 인체 해부도 실제로 써보기 ghmun.com/anatomy 가기 →