이 프로젝트에는 3Blue1Brown에서 발견된 수학 설명 비디오를 생성하는 데 사용되는 코드가 포함되어 있습니다.
이것은 거의 전적으로 Manim 라이브러리를 사용하여 생성된 장면으로 구성됩니다. ManimCommunity에서 커뮤니티 유지 버전도 참조하세요.
이전 프로젝트에는 이전 버전의 manim에 의존하는 코드가 있을 수 있으므로 여기에서 실행되지 않을 수 있습니다.
Manim 라이브러리 자체는 오픈 소스 소프트웨어이며 MIT 라이선스에 따라 작동하지만 이 저장소의 콘텐츠는 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License에 따라 사용할 수 있습니다.
제가 마님을 어떻게 사용하는지 좀 더 보여드리고자 이 영상을 만들었습니다. 저는 커뮤니티 에디션이 아닌 3b1b/manim을 사용하고 있습니다. 일부 기능은 둘 사이에서 다를 수 있습니다. manim 자체를 설치하는 것 외에도 작업 흐름을 복제하려면 내가 사용하는 텍스트 편집기인 Sublime을 사용하는 일부 사용자 정의 플러그인이 필요합니다.
다른 텍스트 편집기를 사용하는 경우 동일한 기능을 흉내낼 수 있습니다. 핵심은 두 가지 사실을 활용하는 것입니다.
manimgl (file name) (scene name) -se (line_number)
실행하면 장면과 상호 작용하는 데 사용할 수 있는 iPython 터미널을 사용하여 파일의 해당 줄에서 디버거와 같은 대화형 모드로 전환됩니다.
해당 대화형 모드 내에서 터미널에 "checkpoint_paste()"를 입력하면 클립보드에 복사된 모든 코드가 실행됩니다. 게다가 복사된 코드가 주석으로 시작하는 경우 해당 주석을 처음 볼 때 해당 시점의 장면 상태를 저장하고 동일한 주석으로 시작하는 코드에 대한 모든 향후 호출에 대해 먼저 해당 상태로 되돌아갑니다. 코드를 실행하기 전의 장면입니다.
내 작업 흐름을 위해 각 명령을 시작하는 몇 가지 키보드 단축키를 설정했습니다. 스스로 시험해보고 싶은 사람들을 위해 관련된 내용은 다음과 같습니다.
Terminus를 설치합니다(패키지 제어를 통해). 이것은 숭고한 내에서 실행되는 터미널이며 커서의 위치, 강조 표시된 항목 등과 같은 숭고한 상태를 취하는 일부 플러그인을 작성하고 이를 사용하여 원하는 명령줄 명령을 실행할 수 있게 해줍니다.
이 저장소의 "sublime_custom_commands" 하위 디렉터리에 있는 파일을 가져와서 Sublime 애플리케이션의 Packages/User/ 디렉터리에 복사하세요. 이는 /wherever/your/sublime/lives/Packages/User/와 같은 경로가 있는 디렉토리여야 합니다.
이러한 명령을 참조하려면 몇 가지 키 바인딩을 추가하세요. 내 key_binds 파일에 있는 내용은 다음과 같습니다. Sublime Text -> 설정 -> 키바인딩 메뉴에서 자신만의 파일을 찾을 수 있습니다.
{ "keys": ["shift+super+r"], "command": "manim_run_scene" },
{ "keys": ["super+r"], "command": "manim_checkpoint_paste" },
{ "keys": ["super+alt+r"], "command": "manim_recorded_checkpoint_paste" },
{ "keys": ["super+ctrl+r"], "command": "manim_skipped_checkpoint_paste" },
{ "keys": ["super+e"], "command": "manim_exit" },
{ "keys": ["super+option+/"], "command": "comment_fold"},
예를 들어 "command + Shift + R"을 사용자 정의 "manim_run_scene" 명령에 바인딩합니다. 커서가 장면의 라인 내부에 있으면 장면의 해당 지점에서 대화형 모드로 전환됩니다. 커서가 장면을 정의하는 줄에 있으면 전체 장면을 파일로 렌더링하는 데 필요한 명령을 클립보드에 복사합니다.
"command + R"을 "manim_checkpoint_paste" 명령에 바인딩합니다. 이 명령은 강조 표시된 코드의 모든 부분을 복사하고 대화형 터미널에서 "checkpoint_paste()"를 실행합니다.
물론 원하는 키보드 단축키로 설정할 수도 있습니다.
저작권 © 2024 3Blue1Brown