A simple example of how you can create a basic animation of a lander's soft landing on the moon using the Matplotlib library.
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML
# Set up the figure and axis
fig, ax = plt.subplots()
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.set_aspect('equal')
# Define the moon's surface as a line
moon_surface, = ax.plot([0, 10], [2, 2], color='gray')
# Define the lander as a circle
lander_radius = 0.3
lander = plt.Circle((5, 9), lander_radius, fc='blue')
ax.add_patch(lander)
# Set initial velocity and position
velocity = -0.1
position = 9
def init():
return lander, # Return the lander as the artist to be re-drawn
def update(frame):
global velocity, position
# Update position based on velocity
position += velocity
# Check if lander has landed
if position - lander_radius <= 2:
velocity = 0
# Update the position of the lander
lander.center = (5, position)
return lander, # Return the lander as the artist to be re-drawn
# Add labels to the X and Y axes
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
# Create the animation
ani = animation.FuncAnimation(fig, update, init_func=init, frames=range(100), blit=True)
# Convert the animation to HTML
ani_html = HTML(ani.to_jshtml())
# Display the animation in the notebook
ani_html
The animation is displayed directly within the notebook.
Top comments (0)