474,746 views
19 votes
19 votes
Assignment 6: Animation python

User Edgardo
by
3.0k points

2 Answers

26 votes
26 votes

Answer: animation Python itself cannot create animation, it can only create images

Step-by-step explanation:

it can only create images

I hope this is helpful :)

User Lorro
by
2.9k points
24 votes
24 votes

Making an animation in Python can be achieved using various libraries, but the most common approach is to utilize the Matplotlib library. Matplotlib provides tools for generating plots and animations.

Below is an example of creating a simple animation with five circles, five polygons, five line commands, two for loops, and one global variable:

Python

import matplotlib.pyplot as plt

import matplotlib.animation as animation

# Define global variables

center = [0, 0]

radius = 1

polygon_points = [(1, 1), (2, 2), (3, 1), (2, 0), (1, 1)]

line_start = [-1, 0]

line_end = [1, 0]

fig, ax = plt.subplots()

# Initialize animation elements

circles = []

polygons = []

lines = []

for i in range(5):

# Create circles

circle = plt.Circle(xy=center, radius=radius * (i + 1), color='red')

circles.append(circle)

ax.add_patch(circle)

# Create polygons

polygon = matplotlib.patches.RegularPolygon(xy=center, numVertices=5, radius=radius * (i + 1), color='blue')

polygons.append(polygon)

ax.add_patch(polygon)

# Create lines

line = matplotlib.lines.Line2D(xy=[[line_start[0] * (i + 1), line_start[1]], [line_end[0] * (i + 1), line_end[1]]],

color='green')

lines.append(line)

ax.add_line(line)

# Define animation function

def animate(i):

# Update circle positions

for j in range(5):

circle = circles[j]

circle.center = (center[0] + i / 20, center[1])

# Update polygon positions and orientations

for j in range(5):

polygon = polygons[j]

polygon.xy = [center[0] + j / 20, center[1] + math.sin(j / 10 * math.pi)]

# Update line positions

for j in range(5):

line = lines[j]

line.set_xdata([[line_start[0] * (i + 1), line_start[0] * (i + 1) + (i / 20) * line_end[0]],

[line_start[1], line_start[1] + (i / 20) * line_end[1]]])

# Set animation parameters

interval = 10 # Interval between frames in milliseconds

anim = animation.FuncAnimation(fig, animate, frames=50, interval=interval)

# Save the animation as an MP4 file

writer = animation.FFMpegWriter(fps=10)

anim.save('animation.mp4', writer=writer)

plt.show()

See text below

How to make an Animation python

the code for the assignment. these are the requirements: 5 circles

5 polygons

5 line commands

2 for loops

1 global variable

User Rexposadas
by
3.0k points