يحتوي هذا المشروع على الكود المستخدم لإنشاء مقاطع الفيديو الرياضية التوضيحية الموجودة على 3Blue1Brown.
يتكون هذا بالكامل تقريبًا من مشاهد تم إنشاؤها باستخدام مكتبة مانيم. راجع أيضًا النسخة التي يحتفظ بها المجتمع في ManimCommunity.
قد تحتوي المشاريع الأقدم على تعليمات برمجية تعتمد على الإصدارات الأقدم من manim، وبالتالي قد لا تنفد من الصندوق هنا.
لاحظ أنه على الرغم من أن مكتبة Manim نفسها عبارة عن برنامج مفتوح المصدر وبموجب ترخيص MIT، فإن محتويات هذا المستودع متاحة بموجب ترخيص Creative Commons Attribution-NonCommercial-ShareAlike 4.0 الدولي.
لقد صنعت هذا الفيديو لإظهار المزيد عن كيفية استخدام المانيم. لاحظ أنني أستخدم 3b1b/manim، وليس إصدار المجتمع، وقد تختلف بعض الوظائف بين الاثنين. وبصرف النظر عن تثبيت manim نفسه، فإن تكرار سير العمل يتضمن بعض المكونات الإضافية المخصصة مع Sublime، محرر النصوص الذي أستخدمه.
إذا كنت تستخدم محرر نصوص آخر، فيمكن محاكاة نفس الوظيفة. والمفتاح هو الاستفادة من حقيقتين.
تشغيل manimgl (file name) (scene name) -se (line_number)
سينقلك إلى الوضع التفاعلي في هذا السطر من الملف، مثل مصحح الأخطاء، مع محطة iPython التي يمكن استخدامها للتفاعل مع المشهد.
ضمن هذا الوضع التفاعلي، إذا قمت بإدخال "checkpoint_paste()" إلى الوحدة الطرفية، فسيتم تشغيل أي جزء من التعليمات البرمجية المنسوخة إلى الحافظة. علاوة على ذلك، إذا كان هذا الرمز المنسوخ يبدأ بتعليق، فإنه في المرة الأولى التي يرى فيها هذا التعليق، فإنه سيحفظ حالة المشهد عند تلك النقطة، وبالنسبة لجميع الاستدعاءات المستقبلية على الكود الذي يبدأ بنفس التعليق، فسوف يعود أولاً إلى تلك الحالة المشهد قبل تشغيل التعليمات البرمجية.
بالنسبة لسير العمل الخاص بي، قمت بإعداد بعض اختصارات لوحة المفاتيح لبدء كل من هذه الأوامر. بالنسبة لأولئك الذين يريدون تجربة ذلك بأنفسهم، إليك ما يتضمنه الأمر.
تثبيت Terminus (عبر التحكم في الحزمة). هذا تشغيل طرفي ضمن sublime، ويتيح لنا كتابة بعض المكونات الإضافية التي تأخذ الحالة في sublime، مثل مكان المؤشر، وما تم تمييزه، وما إلى ذلك، واستخدام ذلك لتشغيل تعليمات سطر الأوامر المطلوبة.
خذ الملفات الموجودة في الدليل الفرعي "sublime_custom_commands" لهذا الريبو، وانسخها إلى دليل Packages/User/ لتطبيق Sublime الخاص بك. يجب أن يكون هذا دليلاً بمسار يبدو مثل /wherever/your/sublime/lives/Packages/User/
أضف بعض روابط المفاتيح للإشارة إلى هذه الأوامر. إليك ما لدي داخل ملف key_bindings الخاص بي، يمكنك العثور على الملف الخاص بك ضمن القائمة Sublime Text -> الإعدادات -> 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