SoFunction
Updated on 2025-04-10

Implementation of drawing dynamic rotation stars in Python

Preface

We can combine the animation function of the matplotlib library and numpy to handle mathematical calculations.

Here is a detailed example showing how to create a dynamically rotated five-pointed star animation

Step 1: Install the required library

Make sure you have matplotlib and numpy libraries installed.

If not installed, you can use the following command to install:

pip install matplotlib numpy

Step 2: Write animation code

import numpy as np
 
import  as plt
 
import  as animation
 
# Create a function to generate the vertex of a five-pointed star 
def star_vertices(size=100, rotation=0):
 
    # Radius and angle 
    inner_radius = size / 2.5
 
    outer_radius = size
 
    angles = (0, 2 * , 10, endpoint=False) + rotation
 
    radii = (10) * outer_radius
 
    radii[::2] = inner_radius
 
    return radii * (1j * angles)
 
 
 
# Update the function to process every frame of the animation 
def update(num, scat, rotation):
 
    rotation += 0.1
 
    # Update the position of the star 
    new_points = star_vertices(rotation=rotation)
 
    scat.set_offsets(([new_points.real, new_points.imag]).T)
 
    return scat,
 
 
 
# Create graphics and animations 
fig, ax = ()
 
ax.set_xlim(-120, 120)
 
ax.set_ylim(-120, 120)
 
scat = ([], [], s=100)
 
 
 
# Create animation 
ani = (fig, update, frames=200, fargs=(scat, 0), interval=20, blit=True)
 
 
 
# Show animation 
()

Step 3: Run the code

Save the above code as a .py file, such as rotating_star.py, and run it on the command line:

python rotating_star.py

This will open a window showing a dynamically rotated five-pointed star.

  • Description Generates a pentagram: The star_vertices function uses polar coordinates to generate the vertices of a pentagram. By changing the angle and radius, we can generate the vertex coordinates of a five-pointed star.
  • Animation update: The update function updates the rotation angle of the star in each frame, thereby achieving a dynamic effect.
  • Animation settings: Use to create animations, set the update function, frame number, frame rate, etc. for each frame.

Summarize

The above is personal experience. I hope you can give you a reference and I hope you can support me more.