1. Preparation
1. Environment configuration
First, you need to make sure that the following libraries are installed in your Python environment:
pip install matplotlib numpy
If you are using Anaconda, you can install it through the following command:
conda install matplotlib numpy
2. Create a project file
In your working directory, create a new Python file, e.g.heart_animation.py
, and start writing code in the file.
2. Code implementation
Below is a complete code example. We will create a dynamic love animation and add "I love you" confession text in the middle of love.
import numpy as np import import as plt import as animation def heart_shape(t): """Creating the coordinates of the heart-shaped curve""" x = 16 * (t)**3 y = 13 * (t) - 5 * (2*t) - 2 * (3*t) - (4*t) return x, y def create_heart_plot(): """Create a basic heart shape""" t = (0, 2 * , 1000) x, y = heart_shape(t) fig, ax = (figsize=(8, 8)) (x, y, color='red') ax.set_xlim(-20, 20) ax.set_ylim(-20, 20) ('off') # Close the axis return fig, ax def update(frame, ax): """Update function for animation""" () # Clear the current graph # Re-draw the heart t = (0, 2 * , 1000) x, y = heart_shape(t) (x, y, color='red') # Add confession text (0, 0, f'I love you! Xiaoya', fontsize=30, ha='center', va='center', color='white', fontweight='bold') # Add dynamic effects (0, -5, f'The {frame + 1} Width', fontsize=20, ha='center', va='center', color='white', fontweight='bold') ax.set_title('Dynamic Love', fontsize=20, color='white') ax.set_xlim(-20, 20) ax.set_ylim(-20, 20) ('off') # Close the axis def main(): # Set fonts [''] = 'SimHei' # Use bold ['axes.unicode_minus'] = False # Handle negative sign display fig, ax = create_heart_plot() # Create animation ani = (fig, update, frames=100, fargs=(ax,), interval=100) # Show animation () if __name__ == "__main__": main()
Detailed code explanation
-
Import library:
-
numpy
Used for mathematical calculations, processing arrays and numerical values. -
Used to draw and display graphics.
-
Used to create animation effects.
-
-
Heart-shaped function:
-
heart_shape(t)
Functions are based on parameterst
Calculate the x and y coordinates of the heart shape. The heart-shaped formula used here is the classic polar coordinate equation, and this function returns the coordinates of the heart-shaped.
-
-
Basic graphic creation:
-
create_heart_plot()
Functions create the infrastructure of a heart-shaped figure, set the size and coordinate range of the figure, and close the coordinate axis.
-
-
Update animation functions:
-
update(frame, ax)
It is an update function for every frame in the animation. It clears the current figure, then repaints the heart shape, and adds the confession text. - Dynamically added "xth" text allows the audience to feel dynamic changes in real time.
-
-
Main function:
- exist
main()
In the function, call the function that creates a heart chart and useCreate an animation.
frames
The parameters define the number of frames of the animation.interval
Controls the time interval between frames.
- exist
Running effect
After running the above code, you will see a dynamic red love heart with the text "I love you!" displayed in the center of your heart. At the same time, the current frame count will be displayed at the bottom, which makes the entire animation look more vivid and interesting.
3. Code expansion and optimization
To make our love animation more attractive, we can also perform the following extensions and optimizations:
1. Add gradient effect
We can change the color of the heart dynamically to make it look more layered in the animation. The following is the modified code snippet:
def update(frame, ax): """Update function for animation""" () # Clear the current graph # Re-draw the heart t = (0, 2 * , 1000) x, y = heart_shape(t) # Calculate color gradient color = (1.0, 0.0, 0.0, (frame % 100) / 100.0) # Red gradient (x, y, color=color) # Add confession text (0, 0, f'I love you! Xiaoya', fontsize=30, ha='center', va='center', color='white', fontweight='bold') # Add dynamic effects (0, -5, f'The {frame + 1} Width', fontsize=20, ha='center', va='center', color='white', fontweight='bold') ax.set_title('Dynamic Love', fontsize=20, color='white') ax.set_xlim(-20, 20) ax.set_ylim(-20, 20) ('off') # Close the axis
In this way, the color of the heart shape will gradually change over time, increasing the visual dynamics.
2. Add background music
When confessing, pairing with moving music can increase the communication of emotions. Can use Pythonpygame
Kuan is here to play background music. First install the library:
pip install pygame
Then load the music in the code:
import pygame # Music Initialization() ('your_music_file.mp3') # Replace with your music file path(-1) # Loop play # Add music playback in main functiondef main(): (-1) # Play music loop fig, ax = create_heart_plot() # Create animation ani = (fig, update, frames=100, fargs=(ax,), interval=100) # Show animation ()
3. Make text dynamically change
You can add different confession content to the confession text to make it dynamically change in the animation. You can use a list to store different confession sentences:
expressions = [ "I love you! ❤️", "You are my only one! 💖", "Spend the rest of your life with you! 💞", "I wish to join hands with you! 💘" ] def update(frame, ax): """Update function for animation""" () # Clear the current graph # Re-draw the heart t = (0, 2 * , 1000) x, y = heart_shape(t) # Calculate color gradient color = (1.0, 0.0, 0.0, (frame % 100) / 100.0) # Red gradient (x, y, color=color) # Dynamically changing confession text message = expressions[frame % len(expressions)] (0, 0, message, fontsize=30, ha='center', va='center', color='white', fontweight='bold') # Add dynamic effects (0, -5, f'The {frame + 1} Width', fontsize=20, ha='center', va='center', color='white', fontweight='bold') ax.set_title('Dynamic Love', fontsize=20, color='white') ax.set_xlim(-20, 20) ax.set_ylim(-20, 20) ('off') # Close the axis
4. Summary and Insight
Through this article, we not only learned how to draw dynamic love in Python and add confession text to it, but also made it more attractive by extending and optimizing the code. This combination of programming and emotion not only shows your love for programming, but also brings surprises and touches to your beloved on special days.
I hope that through this article, you can find inspiration in the application and create your own unique confession method. Whether it’s expressing love with code or through other methods, the most important thing is to convey your true feelings to the other person. I wish you good luck and may you go further and happier on the road of love!
The above is the detailed explanation of the code of using Python to draw dynamic love and confess. For more information about Python to draw dynamic love, please follow my other related articles!