व्याख्यात्मक गणित वीडियो के लिए एनीमेशन इंजन Manim
(github.com/3b1b)- Manim गणित समझाने वाले वीडियो बनाने के लिए एक सटीक programming-आधारित animation engine है
- यह 3Blue1Brown के लेखक द्वारा अपने शैक्षिक वीडियो के उद्देश्य से विकसित किया गया प्रोजेक्ट है
- इसका एक community fork version भी मौजूद है, जो usability, contribution और testing के पहलुओं में लगातार बेहतर हो रहा है
- यह Python-आधारित है और FFmpeg, OpenGL, LaTeX जैसी विभिन्न system dependencies की आवश्यकता होती है
- Open source (MIT license) होने के कारण कोई भी इसे स्वतंत्र रूप से उपयोग और contribute कर सकता है
Manim प्रोजेक्ट का महत्व और फायदे
- Manim एक open source animation engine है, जिसे गणित और विज्ञान की अवधारणाओं को दृश्य रूप से प्रभावी ढंग से समझाने के लिए विकसित किया गया है
- अन्य video tools से अलग, यह सटीक code-based animation बनाने की सुविधा देता है, इसलिए जटिल गणितीय विचारों को चरण-दर-चरण visualize करने में इसकी खास ताकत है
- इसे 3Blue1Brown स्वयं संचालित करता है, और यह शैक्षिक वीडियो निर्माण के अनुभव और know-how से बना एक अनोखा टूल माना जाता है
- community fork version भी अलग से सक्रिय रूप से विकसित हो रहा है, इसलिए यह developer-friendly है और इसमें तरह-तरह के सुधार तेज़ी से शामिल किए जाते हैं
प्रोजेक्ट का अवलोकन
- Manim गणितीय व्याख्या के लिए एक सटीक programming animation engine है, जिसके जरिए वीडियो में formulas, shapes और बहु-स्तरीय अवधारणा-विकास को स्वतंत्र रूप से लागू किया जा सकता है
- यह मूल रूप से 3Blue1Brown के शैक्षिक वीडियो निर्माण के लिए शुरू हुआ था, और उससे संबंधित विशेष code भी अलग repository में सार्वजनिक है
- 2020 में, अधिक लोगों के लिए इसे आसानी से उपयोग योग्य बनाने के उद्देश्य से community version को fork किया गया, और तब से stability, community contribution और testing में बेहतर होता हुआ एक ecosystem बन रहा है
मुख्य विशेषताएँ और आवश्यकताएँ
- यह ManimGL (मूल) और Manim Community Edition (community fork) में विभाजित है
- हर version की installation और usage विधि अलग है, इसलिए पहले से तय करना ज़रूरी है कि आप कौन-सा version चाहते हैं
- pip से install करते समय manimgl package name के माध्यम से मूल version install किया जा सकता है
- Python 3.7 या उससे ऊपर की आवश्यकता है, और FFmpeg, OpenGL, तथा कुछ environments में LaTeX और Linux के लिए Pango जैसी अतिरिक्त आवश्यकताएँ भी होती हैं
उपयोग मार्गदर्शिका (उदाहरण)
- coding examples, scene files और execution commands सहित sample उपलब्ध हैं
- कई example scenes, documentation, और वास्तविक 3Blue1Brown वीडियो के लिए विशेष code भी देखा और उपयोग किया जा सकता है
- command line execution के समय विभिन्न flags दिए जाते हैं, जिनसे
- result files save करना, full scene skip करना, fullscreen में चलाना जैसी विभिन्न output methods और customized environments का समर्थन मिलता है
custom_config.ymlफ़ाइल के जरिए style, quality, path जैसी विस्तृत environment settings की जा सकती हैं
दस्तावेज़ीकरण और योगदान
- आधिकारिक documentation अलग साइट पर उपलब्ध है, और Chinese version तथा अतिरिक्त custom resources भी उपयोग किए जा सकते हैं
- open source project होने के नाते pull requests और community contributions का सक्रिय रूप से स्वागत किया जाता है
- यह MIT license के तहत उपलब्ध है, इसलिए कोई भी इसे स्वतंत्र रूप से modify और distribute कर सकता है
तकनीकी जानकारी और आँकड़े
- इसमें Python(96.3%) और GLSL(3.7%) जैसी प्रमुख भाषाएँ शामिल हैं
- GitHub पर 80,000 stars और 6,800 से अधिक forks के साथ इसकी लोकप्रियता और community participation स्पष्ट है
- 167 से अधिक contributors इसमें सक्रिय हैं
सारांश
- Manim एक programming animation engine है, जो सटीक और बारीक गणितीय-वैज्ञानिक visualization के लिए विशेष रूप से उपयुक्त है
- यह शैक्षिक वीडियो निर्माताओं, data visualization experts, और developers के लिए बहुत उपयोगी है, जिन्हें code-based animation की आवश्यकता होती है
- तेज़ learning curve, customizable environment, और स्वतंत्र contribution व community growth इसकी महत्वपूर्ण अलग पहचान हैं
1 टिप्पणियां
Hacker News टिप्पणियाँ
हाल में coding assistants के साथ यह वाकई बहुत प्रभावी ढंग से काम करता है, ऐसा अनुभव हुआ; “मुझे ऐसा diagram चाहिए जिसमें X equation बदलकर Y हो जाए” जैसे prompts देने पर अक्सर एक ही बार में मनचाहा परिणाम मिल जाता है, क्योंकि इसकी syntax सरल है और बहुत से open source manim examples training में इस्तेमाल हुए हैं; मुझे लगता है कि यह एक शानदार उदाहरण है कि AI coding agents कितना समय बचा सकते हैं, और अगर अंतिम video अच्छा बन रहा हो तो बीच की बारीक प्रक्रिया की उतनी चिंता नहीं करनी पड़ती, इसलिए यह तरीका अधिक सुविधाजनक लगता है
मुझे Grant Sanderson के साथ एक podcast में सुनी हुई बात याद है; उन्होंने कहा था कि उन्होंने LLM से manim code auto-generate करवाकर देखा, लेकिन नतीजे अच्छे नहीं थे; आखिरकार इसका मतलब यही है कि manim में proficiency या standards को लेकर हमारी सोच और Grant की सोच के बीच बड़ा अंतर है
सोच रहा हूँ कि अगर documentation में RAG capability जोड़ दी जाए तो क्या होगा
मैंने Manim को classroom presentation materials में इस्तेमाल किया है और यह सचमुच बहुत मज़ेदार अनुभव था, बहुत से लोगों ने उस style को पहचाना और presentation की भी काफी सराहना हुई; और किस्मत से Grant से कुछ साल पहले व्यक्तिगत रूप से मिलने का मौका भी मिला; जब मैंने कहा कि मैंने Manim इस्तेमाल किया है तो वह दिल से खुश दिखे; वह ऐसे शानदार इंसान हैं जो मानवता के ज्ञान और समझ में बड़ा योगदान दे रहे हैं
मुझे लगता है 3b1b सचमुच इंटरनेट दुनिया का एक चमत्कार है; बेहद सुंदर animations और बहुत सोच-समझकर तराशी गई explanations देखकर हैरानी होती है; बस एक बात समझ नहीं आती कि एक ही library इतने विविध concepts को animation में कैसे व्यक्त कर सकती है; सब कुछ custom काम जैसा लगता है, लेकिन शायद Grant किसी अधिक उच्च-स्तरीय mathematical thinking पर काम करते हैं
मुझे लगता है कि ज़्यादातर लोगों के लिए community fork version का link अधिक उपयुक्त होगा, Manim Community GitHub
Grant द्वारा बनाया गया project सचमुच उत्कृष्ट है, क्योंकि यह सिर्फ किसी open source library maintainer का काम नहीं है, बल्कि उस domain के प्रति सच्ची प्रतिबद्धता और विशेषज्ञता रखने वाला व्यक्ति है, जिसे अपने वास्तविक application के लिए सही tool नहीं मिला तो उसने खुद उसे बनाया और maintain किया; दूसरी ओर community fork में infrastructure बनाने वाले लोग कई use cases को पूरा करने की कोशिश करते हैं, बजाय इसके कि मूल उद्देश्य के हिसाब से उसे ढालें, और नतीजतन वह धीरे-धीरे अपने मूल मकसद से दूर हो जाता है और user experience भी कुर्बान हो जाती है; मुझे यह फर्क ऐसा लगता है जैसे कोई विशेषज्ञ developer अपना काम सीधे करने के लिए कुछ बना रहा हो, बनाम कोई fork सिर्फ maintenance और प्रचार के लिए बनाए रख रहा हो
मैं जानना चाहता हूँ कि fork अच्छे कारणों से बनाया गया था या सिर्फ किसी विवाद की वजह से; fork के बारे में explanation पढ़ी है, लेकिन Grant अभी भी original maintain कर रहे हैं, फिर भी सटीक कारण समझ नहीं आया
मैं math-centric नहीं, बल्कि general infographics/charts/motion graphics पर केंद्रित code-based animation renderer को बहुत लगन से खोज रहा हूँ; मौजूदा विकल्प After Effects, Davinci Fusion, Blender, Cavalry आदि हैं, लेकिन पुराने PovRay और बाद में Manim का अनुभव करने के बाद code/text-based motion graphics tool का विचार दिमाग से निकलता ही नहीं; LLM के साथ जोड़ने पर यह सचमुच चमक सकता है; हाल में ChatGPT-आधारित motion graphics services भी आई हैं, लेकिन उन web-based video generators से ज़्यादा मैं ऐसा tool चाहता हूँ जो template code/language के रूप में हो, जिसे किसी भी data पर बार-बार render किया जा सके, और offline या automation तक में इस्तेमाल किया जा सके
लगभग 4 साल पहले जब मैंने Manim इस्तेमाल किया था, तब हालत ऐसी थी कि kwargs-itus कह सकते थे: लगभग हर parameter kwargs में था और type annotations भी संभव नहीं थे, इसलिए इस्तेमाल करना बेवजह मुश्किल था; मैंने इसे बेहतर बनाने की कोशिश की थी लेकिन ज़्यादा प्रतिक्रिया नहीं मिली, इसलिए जिज्ञासा है कि अब यह कितना बदला है
यह project HN पर अक्सर आता रहता है और इस पर अच्छी चर्चाएँ भी बहुत हैं, इसलिए discussion link की बजाय search link छोड़ रहा हूँ HN पर manim search results
सोच रहा हूँ कि क्या manim software ecosystem को एक नज़र में देखने के लिए कोई awesome list है; नीचे कुछ resources संकलित किए हैं
मेरी समझ थी कि HN में आम तौर पर एक ही link का duplicate submit करना allowed नहीं होता; क्या duplicate submission संभव है?
Manim से जुड़ी पुरानी HN चर्चाओं और Show HN links की सूची साझा कर रहा हूँ
Grant ने 3blue1brown और Manim के साथ जो बनाया है, वह सचमुच विस्मयकारी है; videos की उच्च गुणवत्ता और visualizations की वजह से अमूर्त विषय भी समझने में आसान हो जाते हैं; README में इसका पहले से उल्लेख है, लेकिन मैं Grant के Manim workflow को दिखाने वाला demo video (YouTube link) ज़रूर recommend करना चाहूँगा
यह सचमुच शानदार project है, और इसे देखते ही पुराना प्रभावशाली video Animation vs Math याद आ गया, इसलिए क्लिक किया Animation vs Math YouTube; मुझे math पसंद है, लेकिन लोगों को बस विशाल graphs दिखा देना हमेशा अच्छा तरीका नहीं लगता