논문 설명 영상 (대시보드 스타일)은(는) 무엇을 하나요?
사용자가 논문, 특정 섹션(시스템 모델, 정리, 결과 그래프) 또는 교육용 컨셉에 대한 설명 영상, 애니메이션 또는 "FAS 영상 같은 것"을 요청할 때 사용합니다.
출력 결과물 형태
하나의 16:9 프레임(1920x1080, 30fps, 흰색 배경, 컬러풀):
- 상단: 작은 회색 크레딧 줄, 굵은 제목, 설정에 대한 한 줄 보라색 요약.
- 왼쪽(약 40% 너비): 애니메이션 물리적 장면(파동, 안테나, 노드, 사용자, 회로). 매 프레임마다 움직이며, 결정이나 결과를 보여주는 마커가 포함됩니다.
- 오른쪽: 2x2 라이브 패널 그리드. 정적 곡선은 한 번 그려지고, 점선 세로선과 점들이 그 위를 이동합니다. 하나의 패널은 매 프레임마다 완전히 다시 그려질 수 있습니다(예: 단일 실현에 대한 막대 차트).
- 하단: 노란색 둥근 캡션 상자. 스윕 파라미터가 임계값을 통과할 때 4-6번 변경되며, 최종 유지 시간 동안 주요 숫자를 포함한 요약을 표시합니다.
- 장면 내 선택적 삽입(예: 복소 평면 화살표): 주요 수량을 표시합니다.
절차
- 논문 섹션을 읽습니다. 스토리를 전달할 하나의 스윕 파라미터(지평선, SNR, 속도, 기울기, 블록 수 등)를 선택합니다. 영상이 보여줘야 할 한 문장 메시지를 작성합니다.
- 논문의 방정식과 파라미터 값을 사용하여 numpy/scipy로 모델을 재구현합니다. 그리기 전에 주요 숫자(폐쇄형 대 수치 적분, 테이블 값, 한계)를 검증합니다. 일치하지 않는 부분이 있으면 사용자에게 알립니다.
- 비용이 많이 드는 부분을 미리 계산합니다: 미세 그리드(약 21포인트, 약 20k 드로우)에 대한 몬테카를로 곡선을 캐싱합니다.
- 실현 패널의 경우, 파라미터에 따라 부드럽게 변하는 하나의 고정 무작위 드로우를 사용합니다(예: 고정 경로를 가진 유한 평면파 합, 한 번 생성된 노이즈). 시드를 스캔하여 스토리를 명확하게 전달하는 것을 선택하고, 나레이션 노트에 이를 명시합니다.
- 타임라인: 시작 유지(약 2초), 완화된 스윕(0.5 - 0.5 cos(pi x)), 최종 유지(약 3초). 기본값 17초; 음성 해설 포함 시 약 60초(예: 8 / 42 / 10초).
- argparse를 사용하여 스크립트 작성:
--out,--preview(3개의 PNG 프레임 작성),--dpi. 파라미터를 상단에 배치(CREDIT, 모델 값, SEED, 타이밍). matplotlib FFMpegWriter(libx264, yuv420p, bitrate 6000)로 렌더링하고, grab_frame 루프를 사용합니다. - 항상 먼저 미리보기를 렌더링하고 확인합니다. 겹침을 수정한 후 전체 영상을 렌더링합니다. 그 후 ffmpeg로 4프레임을 추출하여 확인합니다.
- .mp4, .py 및 나레이션 .md(시간 | 캡션 | 간단한 영어로 할 말 | 패널 가이드 | 설정 | 쉬운 편집)를 제공합니다. 버전 번호 v1, v2, ...를 매깁니다.
레이아웃 주의사항 (버그 방지)
- 장면 축의 경우
set_aspect('equal', adjustable='datalim')을 사용하고 xlim을 콘텐츠 중앙에 맞춥니다. 그렇지 않으면 장면이 축소되거나 잘립니다. - 긴 장면 레이블은 움직임이 없는 곳에 배치하고, 삽입 축이 레이블을 덮지 않도록 합니다.
- 범례: 빈 영역에 배치합니다(종종 중단 유형 곡선의 경우
lower right). 막대 패널의 경우ncol=2를 사용하고 ylim에 마커를 위한 여유 공간을 남깁니다. - gridspec 상단을 약 0.86으로 유지하여 부제목이 패널 제목과 겹치지 않도록 하고, 하단을 약 0.155로 유지하여 두 줄 캡션이 x-레이블과 겹치지 않도록 합니다.
- 수식 텍스트는 축 내부의 빈 영역에 배치하고, 곡선 위에 배치하지 않습니다.
- 전체 다시 그리기(cla)는 장면과 하나의 실현 패널에만 해당합니다. 나머지는 set_data를 사용합니다. 1080p에서 510프레임 기준 약 4분이 정상입니다.
스타일 상수
파란색 #1c7ed6, 주황색 #e8590c, 녹색 #2f9e44, 빨간색 #e03131, 청록색 #0c8599, 보라색 #7048e8, 회색 #868e96, 잉크색 #212529, 금색 #f59f00. 굵은 제목 11.5pt, 기본 글꼴 10pt, 상단/오른쪽 스파인 제거.
언어
캡션과 나레이션은 간단한 영어(B2 이하)를 사용하며, 짧은 문장과 번호가 매겨진 캡션 단계("1 ·", "2 ·", ...)를 사용합니다.