영상 스타일 적용 07 | 한 바퀴가 0.5mm — 마이크로미터 속 나사를 홀로그램으로 펼쳐 보기

한 바퀴가 0.5mm — 마이크로미터 홀로그램

영상 스타일 적용 · 사례 07 · Sci-fi Hologram HUD

마이크로미터의 심블을 한 바퀴 돌리면 스핀들은 왜 0.5 mm만 움직이고, 한 눈금은 왜 0.01 mm일까요? 이 글에서는 교재의 마이크로미터 그림을 빛의 선으로 된 홀로그램 화면으로 다시 그려, 회전각이 직선 이동으로 바뀌는 과정을 계산과 함께 확인합니다.

먼저 완성 영상을 보고, 원본 스타일 예시, 교재 근거, 실제 적용 방법, 제작 단계와 프롬프트, 검산 순서로 따라갑니다.

무엇이 달라졌나

교재의 [그림 9.3]은 마이크로미터의 각부 명칭과 눈금을 한 장에 담은 정지 그림입니다. 영상에서는 같은 부품을 하나의 축 위에 세우고, 고정된 부분(프레임·앤빌·슬리브)과 움직이는 부분(심블·래칫 스톱·스핀들)을 표적 상자로 하나씩 구분합니다. 그다음 심블을 축을 따라 열어 속의 나사를 보이고, 실제로 360°, 180°, 7.2°, 72°를 돌리면서 스핀들 끝면이 얼마나 움직이는지 계산값으로 잠급니다.

영상은 100초, 1920×1080, 24 fps입니다. 음성은 없는 자막형이고, 음악과 효과음은 코드로 직접 합성했습니다. 심블 눈금이 기준선을 지날 때마다 작은 틱 소리가 나므로, 7.2°에 한 번, 72°에 열 번 울립니다.

원본 스타일 예시: Sci-fi Hologram HUD

이번 스타일은 LemoLab이 공개한 Lemo-Opuscar의 Sci-fi Hologram HUD(식별자 hologram-hud)입니다. 사례 번호 07은 AI오토마타 연재 번호이고 원본 사이트의 공식 순번이 아닙니다.

원작: Volt · Spec Scan (39초) · 제작 LemoLab · 공식 링크로 재생 · 데모 영상은 CC BY 4.0. 원본 MP4 · STYLE.md · 갤러리

원작은 가상의 도시형 전기자전거가 스캔되어 빛나는 와이어프레임이 되고, 배터리·모터·브레이크가 차례로 표적 상자에 잡히며 값이 나타나는 제품 소개 영상입니다. 이 글의 영상은 그 자전거·이야기·음악을 쓰지 않았고, 표현 규칙만 가져왔습니다. 원작은 2초 간격 표본 프레임 20장으로 확인했으며, 연속 재생이나 소리는 확인하지 않았습니다.

교재 근거

근거는 『기술·기계 임용 기출로 배우는 기계공작법』 194~197쪽의 ‘03 마이크로미터’입니다. PDF 쪽 번호와 인쇄 쪽 번호가 같다는 것을 페이지 이미지로 확인했습니다.

  • 195쪽 [그림 9.3] 마이크로미터의 각부 명칭(앤빌, 스핀들, 슬리브, 심블, 래칫 스톱, 클램프, 프레임)과 슬리브·심블 눈금
  • 196쪽 [그림 9.4] 아베의 원리: 측정선과 눈금선이 한 직선 위에 있는 마이크로미터
  • 196쪽 식 (9.4) 최소 측정값 = 나사의 피치 ÷ 심블의 등분수 = 0.5 mm ÷ 50 = 0.01 mm, 식 (9.5) 측정값 = 슬리브 읽음값 + 심블 일치 눈금수 × 최소 측정값
  • 197쪽 [예제 9.2] 슬리브와 심블 눈금 읽기

교재는 “나사를 한 바퀴 돌렸을 때 축 방향으로 나아가는 거리가 피치”라고 설명합니다. 이 문장은 한 줄 나사일 때 맞습니다. 두 줄 이상 나사에서는 한 바퀴에 나아가는 거리가 리드(= 피치 × 줄 수)이므로, 영상에서는 “한 줄 나사: 리드 = 피치”라고 조건을 밝혀 두었습니다.

측정축(측정선 = 눈금선) 간격 = 읽음값 앤빌스핀들슬리브심블래칫 스톱프레임 회전 θ → 축 방향 이동 Δx = 0.5 × θ/360 고정 움직임
자체 도식 1. 동축 구조도. 모든 부품이 측정축 하나 위에 있고, 굵은 선이 움직이는 부분입니다.

실제 적용 방법: 스킬이 아니라 STYLE.md를 읽어 적용

저장소에는 설치형 스킬(lemo-opuscar)도 있지만 이번에는 설치하거나 호출하지 않았습니다. 원본의 그리기 엔진(holo.js, hud.js)도 쓰지 않았습니다. Hologram HUD의 STYLE.md 전문을 읽고, 그 규칙을 이번 주제에 맞춰 새로 짠 파이썬 렌더러에 옮겼습니다. 정확히는 ‘스타일 지침을 읽어 적용’입니다.

원본 규칙적용 장면변형과 이유실행 확인
와이어프레임 + 프로젝터 패드 + 점 격자 + HUD 세 겹전 장면없음프레임 100장 확인
스캔 평면이 모델을 그려 냄1~6.5초“실제 데이터” 대신 “교재 기반 구조 모형, 실측 스캔 아님”을 자막·하단 표시로 밝힘자막 1, 하단 문구
표적 잠금(커졌다 맞춰짐, 3프레임 섬광) + 리더 + 카드12·14·16·18초부품 이름 대신 “고정/움직임” 역할을 카드에 적음프레임 확인
축을 따라 여는 국부 분해, 속 부품이 밝아짐22~31.5초심블·래칫만 축 방향으로 이동, 다른 부품은 제자리축 중심 검사 통과
루페(두 배율 동시)24~31, 33~55초나사산 단면 설명도, 스핀들 끝면 ×400프레임 확인
숫자가 뒤섞이다 맞춰지는 롤링쓰지 않음측정값 오해를 막으려고 계산값을 그대로 보이고 잠금 순간 주황으로 바꿈값 = 계산 검사 통과
칩 레일에 값 누적42~100초없음프레임 확인
장면 안 컷·페이드 없음, 카메라 연속전 구간눈금 읽기는 눈높이 측면 + 정사영으로 전환(원근 왜곡 감소)프레임 확인
한 색 + 잠긴 값만 강조색전 구간청록 + 주황프레임 확인
Rajdhani·Share Tech Mono, 자막은 아래 가운데 HUD 판전 구간한국어는 Noto Sans CJK KR(두 글꼴에 한글 없음)글리프 누락 수정
음악 먼저, 잠금은 다운비트, 음성전 구간음성 없음(자막형). 음악·효과음 numpy 합성, 120 BPMAAC 트랙 확인
솔리드 홀로그램 점화쓰지 않음구조·원리 설명에 필요 없어 생략—
항목이번에 실제로 쓴 것
스타일 지침styles/hologram-hud/STYLE.md (저장소 커밋 413a6bd, 2026-10-24 확인)
3D 투영·선 그리기Python 3.13, NumPy 2.5.3, pycairo 1.29.2 (자체 원근/정사영 투영)
빛 번짐 합성SciPy 1.18.1 (저해상도 가우시안 두 단계)
음악·효과음NumPy/SciPy 합성, 샘플 없음
인코딩FFmpeg 6.1.1, H.264 + AAC
글꼴Rajdhani, Share Tech Mono, Noto Sans CJK KR (모두 OFL)
비용·계정유료 API·결제·새 계정 없음. Claude 사용량은 쓰는 요금제에 포함되며 금액은 미확인.

입력 파일과 제작 단계

  1. 교재 쪽을 이미지로 확인합니다. 그림 속 부품 배치, 식 (9.4)·(9.5), 예제의 눈금 모양은 추출 글자만으로는 알 수 없습니다.
  2. STYLE.md 전문을 첨부합니다. 표적 상자가 1.9배에서 0.22초 만에 맞춰진다, 강조색은 잠긴 값에만 쓴다 같은 숫자 규칙은 요약하면 사라집니다.
  3. 모형의 규칙을 먼저 숫자로 정합니다. 축은 +x 하나, 스핀들 끝면 x = 읽음값, 한 줄 오른나사, Δx = 0.5 × θ/360, 심블 눈금 k의 각도 = 90° − 7.2k + θ. 이 다섯 줄이 화면의 모든 움직임을 결정합니다.
  4. 프롬프트를 실행해 렌더러를 만듭니다. 독자가 이 프롬프트를 처음부터 쓰기는 어렵습니다. AI에게 “교재 그림을 보고 고정 부품과 움직이는 부품, 나사 조건, 눈금 수를 표로 정리해 줘. 그다음 그 표와 첨부한 STYLE.md만으로 영상 제작 프롬프트를 써 줘”라고 먼저 요청해 초안을 받고, 위의 다섯 줄 규칙을 덧붙이는 방법을 권합니다.
  5. 렌더링합니다. 2400프레임을 그려 MP4로 묶고, 합성한 소리를 붙였습니다.
  6. 검증합니다. 렌더러와 같은 함수를 불러 계산·기하 66개 항목을 검사하고, 완성 MP4를 처음부터 끝까지 디코딩한 뒤 1초 간격 프레임 100장을 모두 확인했습니다.

프롬프트 전문 (자체 응용문)

아래 네 프롬프트는 모두 이번 사례를 위해 직접 쓴 것입니다. 원본이 공개한 것은 STYLE.md라는 스타일 지침입니다.

최초 프롬프트 (실제 실행)
STYLE.md와 교재 쪽 이미지를 함께 첨부해 씁니다.
첨부: styles/hologram-hud/STYLE.md, 교재 기계공작법 194~197쪽 이미지([그림 9.3], [그림 9.4], 식 9.4·9.5, [예제 9.2])

첨부한 Hologram HUD STYLE.md 규칙으로 100초짜리 설명 영상을 만들어 줘. 주제는 '마이크로미터 속 나사가 회전을 0.01 mm 직선 이동으로 바꾸는 원리'다.
- 대상: 0–25 mm 외측 마이크로미터를 교재 [그림 9.3]의 부품(앤빌, 스핀들, 슬리브, 심블, 래칫 스톱, 프레임)으로 만든 '교재 기반 기능 구조 모형'으로 그린다. 실제 CAD나 센서 스캔처럼 말하지 않고, 화면 하단에 '실측 스캔 아님'을 표시한다.
- 화면: 거의 검은 무대, 원형 프로젝터 패드, 배경 점 격자, 빛나는 와이어프레임(깊이 안개, 발광), 모서리 괄호·자·상태줄·원격 측정값. 차가운 색 하나(청록)와 따뜻한 강조색 하나(주황)만 쓰고, 주황은 잠긴 값에만 쓴다. 3D 렌더링 대신 선으로만 그린다.
- 축은 +x 하나. 앤빌 끝면 x=0, 스핀들 끝면 x=읽음값. 고정: 프레임·앤빌·슬리브. 움직임: 심블·래칫(회전+이동), 스핀들(이동). 부품을 흩뿌리지 말고, 분해는 심블·래칫이 축을 따라 미끄러지고 속 나사가 밝아지는 동축 분해만 쓴다.
- 나사는 한 줄 오른나사, 피치 = 리드 = 0.5 mm로 둔다(교재 식 9.4). 여는 방향 회전 = +x축에 대한 양의 회전(래칫 쪽에서 볼 때 반시계)이고, 오른나사이므로 스핀들이 +x(앤빌에서 멀어짐)로 간다. Δx = 0.5 × θ/360 mm로 모든 이동을 계산한다. 회전 화살표도 같은 함수로 그린다.
- 심블 50등분, 한 눈금 7.2°. 눈금 k의 각도 = 90° − 7.2k + θ로 두어, 기준선(90°)에 오는 눈금이 항상 계산한 읽음값과 일치하게 한다.
- 장면: 0~12초 스캔과 질문 → 12~32초 표적 잠금 4개, 측정축(아베의 원리), 동축 분해와 나사 루페 → 32~55초 360°→0.50 mm, 180°→0.25 mm(루페 ×400으로 스핀들 끝면 이동) → 55~75초 눈높이 측면 정사영으로 전환해 50등분, 7.2°→0.01 mm, 0.5÷50 → 75~100초 10눈금 예측(?)→72°→0.10 mm, 읽음값 5.5+36×0.01=5.86 mm, 전체 구조로 물러나 전원 꺼짐.
- 원본의 '글자가 뒤섞이다 맞춰지는 숫자' 연출은 측정값 오해를 부르므로 쓰지 않는다. 숫자는 계산값을 그대로 보이고, 회전이 끝난 뒤 잠금 순간에 주황으로 바꾼다.
- 카드·칩 레일·루페·자막이 와이어프레임 위에 겹치지 않게 배치하고, 모든 글자는 어두운 판 위에 둔다. 자막은 아래 가운데 HUD 판, 한국어.
- 음성은 넣지 않는다(자막형). 음악과 효과음은 numpy로 직접 합성한다(120 BPM, 잠금은 마디 첫 박).
- 0.01 mm는 눈금 간격이며 측정 정확도가 아님을 마지막에 밝힌다. 측정압·영점·온도·백래시는 검증하지 않았다고 쓴다.
- 1920×1080, 24 fps MP4, 렌더링 소스, 계산·기하 검증 스크립트를 함께 만든다.
점검 프롬프트
렌더링 뒤에 같은 대화에서 실행합니다.
다음을 숫자로 확인하고 통과/실패를 보고해 줘. 이전 작업의 결과는 쓰지 마.
1) Δx(0°)=0, Δx(7.2°)=0.01, Δx(72°)=0.10, Δx(180°)=0.25, Δx(360°)=0.50 mm인가? 360/50=7.2°, 0.5/50=0.01 mm인가?
2) 영상의 각 회전 구간에서 모형이 실제로 돈 각도와 이동량이 잠긴 값과 같은가? 값은 회전이 끝난 뒤에 잠기는가?
3) 읽음값 5.00·5.50·5.75·5.76·5.86에서 기준선에 오는 심블 눈금이 0·0·25·26·36이고, 그 눈금이 실제로 90°에 그려지는가?
4) 프레임·앤빌·슬리브는 모든 프레임에서 그대로이고, 스핀들 끝면 x = 읽음값, 심블 끝 = 슬리브 0점 + 읽음값 + 분해 거리인가? 움직이는 부품의 중심이 축 위에 있는가?
5) 나선은 오른나사인가(+x축 양의 회전에서 +x로 진행)? 360°당 0.5 mm인가? 회전 화살표 방향이 +θ인가?
6) 프레임 사이 읽음값이 줄어들거나 심블 각이 튀는 곳이 없는가?
7) 자막 유지 시간 ≥ max(1.8초, 글자수/12)이고 겹치지 않는가?
8) 완성 MP4를 처음부터 끝까지 디코딩하고 1초 간격 프레임 100장을 모두 확인했는가?
수정 프롬프트 (이번에 실제로 낸 요청)
실제로 나온 문제와 그 수정 요청입니다.
(a) 측면 장면에서 왼쪽 칩 레일 글자가 스핀들·프레임 선 위에 겹친다. 측면 장면에서는 눈금과 관계없는 프레임·앤빌·스핀들·나사를 흐리게 하고, 모형을 화면 오른쪽(가로 0.55 위치)으로 옮겨라.
(b) 스핀들 끝면 루페에서 0.75 mm 눈금 글자가 원 밖으로 잘린다. 자를 위로 올리고 0~0.75 mm까지만 그려라.
(c) 심블 회전 화살표가 작아 방향이 안 보인다. 반지름과 화살촉을 키워라.
(d) '기준선 ▸'의 ▸ 글리프가 글꼴에 없어 네모로 나온다. →로 바꿔라.
(e) 검증에서 자막 1의 유지 시간이 4.8초로 기준(69자 → 5.8초)보다 짧다. 문장을 '교재 [그림 9.3]을 빛의 선으로 다시 그린 구조 설명 모형입니다. 실제 센서 스캔이 아닙니다.'로 줄여라.
(f) 축 중심 검사가 3점짜리 세로선까지 '고리'로 세어 거짓 실패를 냈다. 49점 고리만 검사하도록 검증 코드를 고쳐라(영상은 그대로).
(g) 완성본 1초 간격 프레임 검사에서 92초에 읽음값 카드가 사라지기 전에 NOTE 판이 같은 자리에 나타나 두 글이 겹쳤다. 읽음값 카드를 91.5초부터 내려라.
(h) 같은 검사에서 측면 정사영 장면의 회전 화살표가 옆에서 보여 심블을 가로지르는 세로선 하나로 나왔다. 측면 장면에서는 3D 회전 화살표를 그리지 말고 움직이는 심블 눈금으로 회전을 보여라.
확장 프롬프트 (아직 실행하지 않음)
다음 장면을 만들 때 씁니다.
같은 STYLE.md와 렌더러로 교재 196~197쪽의 '0.5 mm 눈금을 빠뜨리는 실수'를 30초 장면으로 만들어 줘.
- 측면 정사영에서 같은 심블 눈금 36을 두고, 슬리브 0.5 mm 눈금이 드러나지 않은 12.36 mm와 드러난 12.86 mm를 '업그레이드' 용법으로 나란히 보인다(옛 값은 흐리게, 새 값은 주황).
- 차이 0.50 mm가 심블 한 바퀴라는 점을 Δx = 0.5 × 360/360으로 다시 계산해 잠근다.
- 숫자 뒤섞임 연출은 쓰지 않고, 측정압·영점은 다루지 않는다.

실제 영상과 대표 프레임

아래 세 장면은 이번 교재로 만든 영상의 프레임입니다. 원작 영상의 화면이 아닙니다.

동축 분해: 심블이 축을 따라 열리고 속 나사가 밝아지며 루페에 피치 0.5 mm
대표 프레임 01 (28.0초). 심블과 래칫이 축을 따라 열리고, 루페에 너트와 스핀들 나사의 단면 설명도가 보입니다.
360도 회전 후 0.50 mm 잠금과 스핀들 끝면 루페
대표 프레임 02 (41.0초). 심블 360° 회전 뒤 0.50 mm가 잠기고, ×400 루페에 스핀들 끝면의 이동이 보입니다.
측면 정사영에서 읽음값 5.5 + 36 × 0.01 = 5.86 mm
대표 프레임 03 (89.0초). 눈높이 측면 정사영에서 읽음값 5.5 mm + 36 × 0.01 mm = 5.86 mm. 왼쪽 칩에 지금까지의 값이 쌓여 있습니다.

검산, 오류, 연습

회전각–직선 이동 검산표

회전각 θ심블 눈금 수계산이동량 Δx영상 구간
0°00.5 × 0 / 3600.00 mm—
7.2°10.5 × 7.2 / 3600.01 mm62.0~64.0초
72°100.5 × 72 / 3600.10 mm80.0~84.0초
180°250.5 × 180 / 3600.25 mm42.0~46.0초
360°500.5 × 360 / 3600.50 mm34.0~40.0초

한 줄 나사(리드 = 피치 = 0.5 mm), 심블 50등분 기준. 영상의 각 회전은 모형이 실제로 그 각도만큼 돌고 스핀들 끝면이 그만큼 움직이는지 코드로 확인했습니다. 회전 순서는 5.00 → 5.50 → 5.75 → 5.76 → 5.86 mm입니다.

실제로 난 오류와 해결

측면 장면에서 왼쪽 값 칩의 글자가 스핀들과 프레임의 선 위에 겹쳤습니다. 원본 지침은 글자가 와이어프레임 위에 놓이지 않게 하라고 하므로, 측면 장면에서는 눈금과 관계없는 부품을 흐리게 하고 모형을 오른쪽으로 옮겼습니다. 스핀들 끝면 루페의 0.75 mm 글자가 원 밖으로 잘린 것, 회전 화살표가 너무 작아 방향이 보이지 않던 것, 글꼴에 없는 ▸ 기호가 네모로 나온 것도 고쳤습니다. 완성본을 1초 간격으로 넘겨 보다가 두 가지를 더 찾았습니다. 92초에 읽음값 카드와 NOTE 판이 같은 자리에서 잠깐 겹쳤고, 측면 장면에서는 회전 화살표가 옆에서 보여 심블을 가로지르는 세로선 하나로 나왔습니다. 카드가 사라지는 시점을 앞당기고, 측면 장면에서는 화살표 대신 움직이는 심블 눈금으로 회전을 보이게 한 뒤 다시 렌더링했습니다.

검증 스크립트에서는 두 가지가 실패했습니다. 첫 자막이 69자인데 4.8초만 떠 있어 읽는 시간 기준(5.8초)에 모자랐고, 문장을 줄여 통과시켰습니다. 다른 하나는 축 중심 검사가 세로선까지 ‘고리’로 세어 생긴 거짓 실패로, 검사 코드를 고쳤고 영상은 바꾸지 않았습니다.

하나는 고치지 않고 기록만 했습니다. 교재 [예제 9.2] 그림에서는 심블 숫자가 아래로 갈수록 커지게 그려져 있는데, 이 모형은 오른나사와 ‘여는 방향 = 래칫 쪽에서 볼 때 반시계’라는 가정에서 출발해 정면에서 숫자가 위로 갈수록 커집니다. 실제 제품의 방향은 이번 작업에서 확인하지 않았습니다.

독자 연습과 평가 기준

  1. 영상 75초에서 멈추고 10눈금(72°)의 이동량을 먼저 계산해 봅니다. Δx = 0.5 × 72/360 = 0.10 mm를 식과 함께 쓰면 통과입니다.
  2. 피치 1 mm, 심블 50등분인 가상의 마이크로미터에서 한 눈금의 이동량을 구해 봅니다(답: 0.02 mm). 교재 196쪽의 “피치와 등분수 가운데 하나만 알고 단정하지 말라”는 문장과 연결해 설명할 수 있으면 통과입니다.
  3. 두 줄 나사(피치 0.5 mm)라면 한 바퀴 이동량이 얼마인지 말해 봅니다(답: 리드 1.0 mm). 피치와 리드를 구별해 말하면 통과입니다.

한계

이 영상은 교재 그림을 바탕으로 한 기능 구조 모형입니다. 실제 제품의 CAD나 센서 스캔이 아니며, 나사는 화면에서 보이도록 실제 피치(0.5 mm)의 나선으로 그렸지만 부품 치수는 설명용입니다. 0.01 mm는 심블 한 눈금의 이동량, 즉 눈금 간격입니다. 측정 정확도는 측정압, 영점, 온도, 백래시 등에 달려 있고, 이 영상에서 검증하지 않았습니다.

출처

원본 스타일과 원작 영상은 LemoLab의 Lemo-Opuscar 저장소에서 2026-10-24에 확인했습니다(커밋 413a6bd, STYLE.md 최종 변경 02dce5b). 저장소 안내에 따르면 코드와 문서는 MIT, 데모 영상과 스틸은 CC BY 4.0이며, 라이브러리로 만든 영상은 만든 사람의 것입니다. 원작 영상은 공식 링크로만 재생하고 LemoLab의 작품임을 표시했습니다. 이번 영상의 모형, 렌더링 코드, 음악과 효과음은 이번 사례를 위해 새로 만든 것입니다.

댓글

이 블로그의 인기 게시물

📄 [제미나이 활용법 3편] PDF 보고서를 1분 안에 요약하는 방법

📄 [업무 자동화] 생성형 AI로 10초 만에 회의록 완성하는 법

[제미나이 활용법 2편] 복잡한 뉴스 기사, 5분 만에 회의 자료로 바꾸는 법