2P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • Manim은 수학 설명 비디오 제작을 위한 정확한 프로그래밍 기반 애니메이션 엔진
  • 3Blue1Brown의 저자가 본인의 교육 비디오 목적으로 개발한 프로젝트임
  • 커뮤니티 포크 버전도 존재하며, 사용성 및 기여, 테스트 측면에서 발전되고 있음
  • Python 기반으로 구동되며, FFmpeg, OpenGL, LaTeX 등 다양한 시스템 의존성 요구함
  • 오픈소스(MIT 라이선스) 로 누구나 자유롭게 사용 및 기여 가능함

Manim 프로젝트의 중요성 및 장점

  • Manim은 수학 및 과학의 개념을 시각적으로 효과적으로 설명하기 위해 개발된 오픈소스 애니메이션 엔진임
  • 타 영상 툴과 달리, 정밀한 코드 기반 애니메이션을 만들 수 있어 복잡한 수학적 아이디어를 단계적으로 시각화하는 데 탁월한 강점 보유함
  • 3Blue1Brown가 직접 운영하며, 교육적 영상 제작 경험과 노하우가 녹아 있는 독창적인 도구로 평가됨
  • 커뮤니티 포크 버전이 별도로 활발히 개발 중이어서, 개발자 친화적이고 다양한 개선이 빠르게 반영되는 구조임

프로젝트 개요

  • Manim은 수학 설명을 위한 정밀 프로그래밍 애니메이션 엔진으로, 영상에서 수식, 도형, 다각적인 개념 전개를 자유롭게 구현할 수 있음
  • 원래 3Blue1Brown의 교육 영상 제작용으로 시작돼, 그와 관련된 전용 코드도 별도 저장소에서 공개됨
  • 2020년에는 보다 많은 사람들이 손쉽게 사용할 수 있도록 커뮤니티 버전이 포크되어, 안정성, 커뮤니티 기여, 테스트 등이 향상된 생태계 형성 중임

주요 특징 및 요구 사항

  • ManimGL(원본)과 Manim Community Edition(커뮤니티 포크)로 나뉨
    • 각 버전별 설치 및 사용법이 다르기 때문에 원하는 버전을 미리 선정해야 함
    • pip로 설치 시에는 manimgl 패키지명을 통해 원본 버전 설치가 가능함
  • Python 3.7 이상이 필요하며, FFmpeg, OpenGL, 특정 환경에서는 LaTeX 및 Linux용 Pango 등이 추가적으로 요구됨

사용 안내 (예시)

  • 코딩 예시, 장면 파일과 실행명령이 포함된 샘플 제공
  • 여러 예제 장면과 문서, 실제 3Blue1Brown 영상용 전용 코드도 확인 및 활용 가능
  • 커맨드라인 실행 시 다양한 플래그를 제공하여
    • 결과 파일 저장, 전체장면 스킵, 풀스크린 실행 등 다양한 출력 방식 및 사용자 지정 환경 지원
  • custom_config.yml 파일을 통해 스타일, 품질, 경로 등의 세부 환경 설정이 가능함

문서화 및 기여

  • 공식 문서가 별도의 사이트에서 제공 중, 중국어 버전과 추가 커스텀 리소스도 이용 가능함
  • 오픈소스 프로젝트답게 풀 리퀘스트 및 커뮤니티 기여를 적극적으로 환영함
  • MIT 라이선스로 제공되며, 누구나 자유롭게 수정 및 배포가 가능함

기술 정보 및 통계

  • Python(96.3%) , GLSL(3.7%) 등 주요 언어로 구성됨
  • GitHub 스타 8만 개, 포크 6,800개 이상으로 높은 인기와 커뮤니티 참여 확인 가능
  • 167명 이상의 다양한 기여자가 활동 중임

요약

  • Manim은 정확하고 세밀한 수학·과학 시각화에 특화된 프로그래밍 애니메이션 엔진임
  • 코드 기반 애니메이션이 필요한 교육용 영상 제작자, 데이터 시각화 전문가, 개발자에게 매우 유용함
  • 빠른 학습 곡선, 커스터마이즈 환경, 자유로운 기여와 커뮤니티 성장이 중요한 차별점임
Hacker News 의견
  • 요즘 코딩 어시스턴트와 함께라면 정말 효과적으로 작동함을 경험함, “X 방정식이 Y로 변화하는 다이어그램이 필요함” 같은 프롬프트로 항상 한 번에 원하는 결과를 얻음, 단순한 문법과 수많은 오픈소스 manim 예제가 학습에 활용됐기 때문임, ai 코딩 에이전트가 시간을 얼마나 절약해주는지 보여주는 멋진 사례라 생각함, 결과 영상이 잘 나오기만 하면 세부 과정에는 신경 안 써도 되어서 그런 방식이 더 편리함

    • Grant Sanderson이 출연한 팟캐스트에서 들은 내용이 있는데, 그는 LLM으로 manim 코드를 자동 생성해봤지만 결과가 별로였다고 언급한 경험을 기억함, 결국 manim에 대한 숙련도나 기준이 우리가 생각하는 것과 Grant가 생각하는 것 사이에 큰 차이가 있음을 의미한다고 생각함

    • 문서에 RAG 기능을 결합하면 어떻게 될까 궁금함

  • Manim을 수업 발표 자료에 활용해봤는데 정말 즐거운 경험임, 많은 사람들이 그 스타일을 알아봐줬고 발표도 호평을 받음, 그리고 행운이 따라 Grant도 몇 년 전에 직접 만남, Manim을 사용했다고 말하자 진심으로 기뻐하던 모습이 인상적이었음, 그는 인류의 지식과 이해에 큰 공헌을 하는 멋진 사람임

  • 3b1b는 진정 인터넷 세계의 경이로움이라 생각함, 정말 아름다운 애니메이션과 신중하게 다듬어진 설명으로 감탄하게 됨, 다만 한 가지 이해가 안 가는 점은 왜 한 개의 라이브러리가 저렇게 다양한 개념을 애니메이션으로 구현할 수 있는지 궁금함, 전부 맞춤형 커스텀 작업일 것 같지만, 어쩌면 Grant는 더 높은 수준의 수학적 사고 위에서 일하는 것 같음

    • 왜 한 개의 라이브러리가 그렇게 다양한 개념을 구현할 수 있는지에 대한 설명으로, 핵심 프리미티브를 기반으로 커뮤니티에서 만들어진 아주 많은 오브젝트들이 존재하고, 그 오브젝트들을 출발점으로 커스터마이징하여 사용할 수 있기 때문임, manim 오브젝트 문서 참고
  • 대부분의 사람들에게는 커뮤니티 포크 버전 링크가 더 적합할 것으로 생각함, Manim Community GitHub

    • Grant가 만든 프로젝트는 정말 뛰어난데, 이는 단순한 오픈소스 라이브러리 유지관리자가 아니라 해당 도메인에 진심이고 전문성을 가진 사람이 실제 애플리케이션에 맞는 툴이 없어서 직접 개발하고 유지하는 경우임, 반면 커뮤니티 포크는 인프라를 구축하려는 사람들이 목적 자체에 맞추기보다 많은 유즈케이스에 맞추려 하다보니, 결국 원래 목적에서 점점 벗어나고 사용자 경험도 희생되는 결과를 가져오고 있다고 생각함, 전문 개발자가 직접 일 처리하려고 만드는 것과 단순 유지 및 홍보 목적으로 포크를 유지하는 것의 차이라 봄

    • 좋은 이유로 포크를 만들었는지 아니면 단순한 논란 때문인지 궁금함, 포크 관련 설명을 읽었지만 Grant가 계속 오리지널을 유지하는데도 정확한 이유를 모르겠음

  • 수학 중심이 아니라 일반 정보그래픽/차트/모션 그래픽에 집중된 코드 기반 애니메이션 렌더러를 열심히 찾고 있음, 기존 방법은 After Effects, Davinci Fusion, Blender, Cavalry 등이지만, 예전 PovRay와 이후 Manim을 경험해 본 뒤로 코드/텍스트 기반 모션 그래픽 툴에 대한 생각이 머릿속을 떠나지 않음, LLM과 결합하면 빛을 발할 것 같음, 최근 ChatGPT 기반 모션 그래픽 서비스가 나오기도 하지만, 그런 웹 기반 영상 생성기보다 내가 원하는 건 템플릿 코드/언어로, 어떤 데이터에도 반복적으로 렌더링 가능하고, 오프라인이나 자동화까지 가능한 방향의 툴임

  • 약 4년 전쯤 Manim을 사용해봤을 때, kwargs-itus라 불릴 만큼 모든 파라미터가 kwargs로 두어졌고 타입 어노테이션도 불가능했어서 사용이 불필요하게 어려웠음, 개선을 시도해봤지만 별 반응을 얻지 못해서 최근에는 어떻게 변했는지 궁금함

  • 이 프로젝트는 HN에 자주 올라와서 좋은 논의가 많으니, 토론 링크 대신 검색 링크 남김 hn의 manim 검색결과

    • manim 소프트웨어를 한 눈에 볼 수 있는 어썸 리스트가 있는지 궁금함, 아래에 자료들을 정리함

      • Manim: Math Animation,
      • Src: ManimCommunity/manim,
      • Docs: 공식 문서,
      • GitHub Topic: manim
      • manim 확장 프로젝트: manimML, manim-physics, chanim, manim-web(dart), JAnim(java), ranim(rust), manim-voiceover, git-sim, TheoremExplainAgent, reactive-manim, jupyter-manim, manim-sideview(vscode), manim-studio(Qt, Cairo)
      • ManimCommunity/awesome-manim에서 manim을 활용하는 크리에이터 리스트 확인 가능 awesome-manim
      • YouTube에서 manim으로 검색 추천 youtube manim 검색
    • HN에서는 보통 동일한 링크 중복이 허용되지 않는 걸로 알았는데, 중복 등록이 가능한지 궁금함

  • Manim 관련 예전 HN 논의 및 Show HN 링크 정리함

  • Grant가 3blue1brown과 Manim으로 만들어낸 결과물은 정말 감탄스러움, 영상의 높은 퀄리티와 시각화 덕분에, 추상적인 주제임에도 불구하고 이해가 쉬움, README에 이미 언급됐지만 Grant가 Manim으로 작업하는 과정을 소개한 데모 영상(YouTube 링크)을 꼭 추천하고 싶음

  • 정말 멋진 프로젝트이며, 예전 Animation vs Math라는 인상적인 영상이 바로 떠올라서 클릭함 Animation vs Math 유튜브, 수학을 좋아하지만 거대한 그래프를 보여주는 건 사람들에게 꼭 좋은 방법은 아니라 느낌

    • 거대한 그래프 대신 3Blue1Brown은 영상 제작, Manim 배포, 그리고 커뮤니티 수학 유튜버 확장에 힘쓴 덕분에 수학 교육법 발전에 크게 기여했다고 생각함, 단순히 자신의 팬을 소유하려 하지 않고 공개적으로 생태계를 만들어줌, Sal Khan도 이 부분에서 칭찬받아 마땅함, 이런 노력들로 수학이 암기와 기호 조작이 아니라 흥미롭고 탐험적인 여정처럼 느껴지는 장르가 탄생했다고 봄