FuncAnimation विधि का उपयोग करके, हम एक फिल्म बना सकते हैं। हम कणों की स्थिति को बदलते रहने के लिए एक उपयोगकर्ता-परिभाषित विधि, अपडेट बनाएंगे और अंत में, विधि स्कैटर इंस्टेंस को वापस कर देगी।
कदम
-
कणों की प्रारंभिक स्थिति, वेग, बल और आकार प्राप्त करें।
-
एक नया आंकड़ा बनाएं, या मौजूदा आंकड़े को figsize =(7, 7) के साथ सक्रिय करें।
-
वर्तमान आकृति में एक कुल्हाड़ी जोड़ें और इसे xlim और ylim के साथ वर्तमान कुल्हाड़ी बनाएं।
-
कणों की प्रारंभिक स्थिति के लिए बिखराव को प्लॉट करें।
-
फंक्शन *func* को बार-बार कॉल करके एनिमेशन बनाता है। हम एक उपयोगकर्ता-परिभाषित विधि पास कर सकते हैं जो कणों की स्थिति को FuncAnimation वर्ग में बदलने में मदद करती है।
-
plt.show() का उपयोग करके चित्र दिखाएं।
उदाहरण
आयात matplotlib.pyplot से pltfrom matplotlib.animation import FuncAnimationimport numpy as npdt =0.005n =20L =1particles =np.zeros(n, dtype=[("position", फ्लोट, 2), ("वेग", फ्लोट , 2), ("बल", फ्लोट, 2), ("आकार", फ्लोट, 1)])कण ["स्थिति"] =np.random.uniform(0, L, (n, 2));कण ["वेग"] =np.zeros((n, 2));कण ["आकार"] =0.5 * np.ones(n);fig =plt.figure(figsize=(7, 7))ax =plt .axes(xlim=(0, L), ylim=(0, L))scatter =ax.scatter(कण["स्थिति"][:, 0], कण["स्थिति"] [:, 1]) def अद्यतन (फ्रेम_नंबर):कण ["बल"] =np.random.uniform(-2, 2., (n, 2)); कण ["वेग"] =कण ["वेग"] + कण ["बल"] * डीटी कण ["स्थिति"] =कण ["स्थिति"] + कण ["वेग"] * डीटी कण ["स्थिति"] =कण ["स्थिति"]% एल स्कैटर।आउटपुट