FuncAnimation পদ্ধতি ব্যবহার করে, আমরা একটি ফিল্ম তৈরি করতে পারি। আমরা একটি ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতি তৈরি করব, আপডেট করব, যাতে কণার অবস্থান পরিবর্তন করা যায় এবং শেষে, পদ্ধতিটি স্ক্যাটার ইনস্ট্যান্স ফিরিয়ে দেয়।
পদক্ষেপ
-
কণার প্রাথমিক অবস্থান, বেগ, বল এবং আকার পান।
-
একটি নতুন চিত্র তৈরি করুন, অথবা ফিগসাইজ =(7, 7) দিয়ে একটি বিদ্যমান চিত্র সক্রিয় করুন।
-
বর্তমান চিত্রে একটি অক্ষ যোগ করুন এবং xlim এবং ylim সহ এটিকে বর্তমান অক্ষে পরিণত করুন।
-
কণার প্রাথমিক অবস্থানের জন্য স্ক্যাটার প্লট করুন।
-
একটি ফাংশন *func* কে বারবার কল করে একটি অ্যানিমেশন তৈরি করে। আমরা একটি ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতি পাস করতে পারি যা কণার অবস্থান পরিবর্তন করতে সাহায্য করে, FuncAnimation ক্লাসে।
-
plt.show().
ব্যবহার করে চিত্রটি দেখান
উদাহরণ
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
dt = 0.005
n = 20
L = 1
particles = np.zeros(n, dtype=[("position", float, 2),
("velocity", float, 2),
("force", float, 2),
("size", float, 1)])
particles["position"] = np.random.uniform(0, L, (n, 2));
particles["velocity"] = np.zeros((n, 2));
particles["size"] = 0.5 * np.ones(n);
fig = plt.figure(figsize=(7, 7))
ax = plt.axes(xlim=(0, L), ylim=(0, L))
scatter = ax.scatter(particles["position"][:, 0], particles["position"][:, 1])
def update(frame_number):
particles["force"] = np.random.uniform(-2, 2., (n, 2));
particles["velocity"] = particles["velocity"] + particles["force"] * dt
particles["position"] = particles["position"] + particles["velocity"] * dt
particles["position"] = particles["position"] % L
scatter.set_offsets(particles["position"])
return scatter,
anim = FuncAnimation(fig, update, interval=10)
plt.show() আউটপুট
