화면 기록 2025-08-11 오후 1.53.24-1 (1).mp4


Dental Flipper Designer WebGL CAD

프로젝트 개요

항목 내용
프로젝트명 Dental Flipper CAD
역할 3D Geometry / mesh SW 개발 엔지니어(3D 엔진, 스컬프팅, 플리퍼 생성)
주요 성과 • 브라우저 기반 실시간 플리퍼 설계 시스템 구현
• Three.js BVH 가속 스컬프팅 (60 FPS)

기술 스택 & 아키텍처

핵심 라이브러리

목적 라이브러리 적용 이유
3D 렌더링 & 씬 관리 Three.js r178 + WebGPU Renderer 실시간 렌더링, Matcap 셰이딩, 듀얼 렌더러 지원
메쉬 가속 구조 three-mesh-bvh 실시간 스컬프팅 레이캐스트 최적화 (O(log N))
메쉬 세분화 three-subdivide (Loop Subdivision) 모델 디테일 증가, Catmull-Clark 스무딩

알고리즘 파이프라인

  1. STL Import & 정규화 – Bounding Sphere 기반 스케일링, 중심점 정렬
  2. 실시간 스컬프팅 – BVH 가속 브러시 (Clay/Normal/Flatten), Sphere-Triangle 교차
  3. 언더컷 검출 – 카메라 시점 기준 법선 내적 n·v ≤ threshold
  4. 블록아웃 생성 – 언더컷 영역 Extrusion + 삼각분할
  5. 치아 라이브러리 배치 – 메지오-디스탈 2점 클릭 배치, Transform Controls
  6. 플리퍼 경계 그리기 – Alt+드래그 폴리라인, Catmull-Rom 곡선 보간
  7. 플리퍼 메쉬 생성 – Knife-cut subdivision + Laplacian 스무딩
  8. 충돌 검출 – 치아-잇몸 Raycasting 교차점 시각화
  9. HTML/STL Export – 독립 실행 가능 HTML 뷰어 생성

수학적 기반 & 공식

영역 사용 공식 / 개념
스컬프팅 변형 p' = p + n·intensity·falloff(d)
Clay: falloff = (1-d/r)³
Laplacian 스무딩 p' = p + λΣw(p-q)
메지오-디스탈 스케일 scale = targetDistance / maxDimension
BVH 교차 복잡도 평균 O(log N), 최악 O(N)
Earcut 삼각분할 O(N log N) for simple polygons