โปรเจ็กต์นี้มีโค้ดที่ใช้ในการสร้างวิดีโอคณิตศาสตร์อธิบายที่พบใน 3Blue1Brown
เกือบทั้งหมดประกอบด้วยฉากที่สร้างขึ้นโดยใช้ห้องสมุด Manim ดูเวอร์ชันที่ดูแลโดยชุมชนที่ ManimCommunity
โปรเจ็กต์เก่าอาจมีโค้ดขึ้นอยู่กับ manim เวอร์ชันเก่า ดังนั้นอาจไม่หมดกล่องที่นี่
หมายเหตุ แม้ว่าไลบรารี Manim จะเป็นซอฟต์แวร์โอเพ่นซอร์สและอยู่ภายใต้ใบอนุญาตของ MIT แต่เนื้อหาของพื้นที่เก็บข้อมูลนี้อยู่ภายใต้ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
ฉันจัดทำวิดีโอนี้เพื่อแสดงวิธีการใช้ manim เพิ่มเติม โปรดทราบว่าฉันใช้ 3b1b/manim ไม่ใช่รุ่นชุมชน ฟังก์ชั่นบางอย่างอาจแตกต่างกันระหว่างทั้งสอง นอกเหนือจากการติดตั้ง manim แล้ว การเรพลิเคตเวิร์กโฟลว์ยังเกี่ยวข้องกับปลั๊กอินแบบกำหนดเองบางตัวด้วย Sublime ซึ่งเป็นโปรแกรมแก้ไขข้อความที่ฉันใช้
หากคุณใช้โปรแกรมแก้ไขข้อความอื่น ฟังก์ชันเดียวกันนี้สามารถเลียนแบบได้ กุญแจสำคัญคือการใช้ประโยชน์จากข้อเท็จจริงสองประการ
การเรียกใช้ manimgl (file name) (scene name) -se (line_number)
จะนำคุณเข้าสู่โหมดโต้ตอบที่บรรทัดนั้นของไฟล์ เช่น ดีบักเกอร์ โดยมีเทอร์มินัล iPython ที่สามารถใช้เพื่อโต้ตอบกับฉากได้
ภายในโหมดโต้ตอบนั้น หากคุณป้อน "checkpoint_paste()" ลงในเทอร์มินัล เทอร์มินัลจะเรียกใช้โค้ดใดก็ตามที่ถูกคัดลอกไปยังคลิปบอร์ด ยิ่งไปกว่านั้น หากโค้ดที่คัดลอกนั้นขึ้นต้นด้วยความคิดเห็น ครั้งแรกที่เห็นความคิดเห็นนั้นจะบันทึกสถานะของฉาก ณ จุดนั้น และสำหรับการเรียกใช้โค้ดในอนาคตทั้งหมดที่เริ่มต้นด้วยความคิดเห็นเดียวกัน มันจะเปลี่ยนกลับเป็นสถานะนั้นก่อน ของฉากก่อนที่จะรันโค้ด
สำหรับเวิร์กโฟลว์ของฉันเอง ฉันตั้งค่าแป้นพิมพ์ลัดเพื่อเริ่มคำสั่งแต่ละคำสั่งเหล่านี้ สำหรับผู้ที่ต้องการทดลองใช้ด้วยตนเอง มีดังต่อไปนี้
ติดตั้ง Terminus (ผ่านการควบคุมแพ็คเกจ) นี่คือเทอร์มินัลที่ทำงานภายใน Sublime และช่วยให้เราเขียนปลั๊กอินบางตัวที่รับสถานะเป็น Sublime เช่น ตำแหน่งเคอร์เซอร์ของคุณ สิ่งที่ไฮไลต์ไว้ ฯลฯ และใช้สิ่งนั้นเพื่อเรียกใช้คำสั่งบรรทัดคำสั่งที่ต้องการ
นำไฟล์ในไดเร็กทอรีย่อย "sublime_custom_commands" ของ repo นี้ และคัดลอกลงในไดเร็กทอรี Package/User/ ของแอปพลิเคชัน Sublime ของคุณ นี่ควรเป็นไดเรกทอรีที่มีเส้นทางที่มีลักษณะคล้าย /wherever/your/sublime/lives/Packages/User/
เพิ่มการเชื่อมโยงคีย์เพื่ออ้างอิงคำสั่งเหล่านี้ นี่คือสิ่งที่ฉันมีในไฟล์ key_bindings คุณสามารถค้นหาไฟล์ของคุณเองได้ภายใต้เมนู Sublime Text -> Settings -> Keybindings
{ "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