current position：Home>Python draws a spinning windmill with turtle
Python draws a spinning windmill with turtle
2022-01-30 07:15:25 【Ice and wind all over the sky】
Last time I used turtle Made a love , This time, let's make a rotating windmill , First put the picture below , Take a look at the effect after completion
Now let's start writing the code
One leaf can be realized by two triangles, one deep and one shallow , Let's say 0 Take leaves in degrees as an example , The code we write is as follows
Use a loop to generate 4 Leaf
With a leaf , Generate 4 It's easier to have a leaf , We just need to write a loop , Then use... In the loop 90 To specify the lower bearing angle , The rest of the drawing code is the same
Add a stick
Add a slightly thicker stick under the windmill , We just need to set the thickness of the brush and draw a straight line
The rotation of the windmill
The windmill has been painted , But how can we make it turn ？ See we loop out 4 A leaf code , Where we specified the angle is 90 Multiple , Write the direction of the leaves as fixed , If we change that angle into a variable , You can turn the leaves at different angles . For ease of use , Let's order one first draw function , So that it can receive the angle specified by itself .
Modify the following code
import turtle as t t.speed(0) def draw(r): # Draw a windmill stick t.pensize(4) # bonzi 4 Pixel thick t.penup() t.goto(0,0) t.pendown() t.goto(0,-150) t.pensize(1) for i in range(4): t.setheading(i * 90 + r) t.penup() t.goto(0,0) t.pendown() # Light blue triangle t.fillcolor('#50B2F8') t.begin_fill() t.forward(100) t.left(150) t.forward(70) t.end_fill() # Dark blue triangle near the center t.fillcolor('#063EC5') t.begin_fill() t.left(30) t.forward(40) t.left(90) t.forward(35) t.end_fill() draw(30) # Try different angles , The leaves can turn to the angle we want t.done() Copy code
The angle can be changed , But the animation of rotation has not yet , How to do this ？ We can write a loop to call this draw function
for r in range(0,360*100,3): # Here is the rotation 100 circle , It can also be used. while loop , Keep it spinning , step 3 Corresponding to the speed , It can also be changed to 1、2 Look at the effect t.tracer(False) t.clear() draw(r) time.sleep(0.01) t.hideturtle() t.tracer(True) Copy code
Okay , Now the windmill can finally turn , Finally, we post the completed code
import turtle as t import time def draw(r): # Draw a windmill stick t.pensize(4) # bonzi 4 Pixel thick t.penup() t.goto(0,0) t.pendown() t.goto(0,-150) t.pensize(1) for i in range(4): t.setheading(i * 90 + r) t.penup() t.goto(0,0) t.pendown() # Light blue triangle t.fillcolor('#50B2F8') t.begin_fill() t.forward(100) t.left(150) t.forward(70) t.end_fill() # Dark blue triangle near the center t.fillcolor('#063EC5') t.begin_fill() t.left(30) t.forward(40) t.left(90) t.forward(35) t.end_fill() # With the speed 1 Play the drawing process once t.speed(1) draw(0) for r in range(0,360*100,3): # Here is the rotation 100 circle , It can also be used. while loop , Keep it spinning , step 3 Corresponding to the speed , It can also be changed to 1、2 Look at the effect t.tracer(False) t.clear() draw(r) time.sleep(0.01) t.hideturtle() t.tracer(True) t.done() Copy code
author[Ice and wind all over the sky],Please bring the original link to reprint, thank you.
The sidebar is recommended
- [recalling the 1970s] using Python to repair the wonderful memories of parents' generation, black-and-white photos become color photos
- You used to know Python advanced
- Pyinstaller package Python project
- 2021 IEEE programming language rankings: Python tops the list!
- Implementation of Python automatic test control
- Python advanced: [Baidu translation reverse] graphic and video teaching!!!
- Do you know the fuzzy semantics in Python syntax?
- [Python from introduction to mastery] (XXVII) learn more about pilot!
- Playing excel office automation with Python
- Some applications of heapq module of Python module
guess what you like
Python and go languages are so popular, which is more suitable for you?
Python practical skills task segmentation
Python simulated Login, numpy module, python simulated epidemic spread
Python opencv contour discovery function based on image edge extraction
Application of Hoff circle detection in Python opencv
Python reptile test ox knife (I)
Day 1: learn the Django framework of Python development
django -- minio_ S3 file storage service
[algorithm learning] 02.03 Delete intermediate nodes (Java / C / C + + / Python / go)
Similarities and differences of five pandas combinatorial functions
- Learning in Python + opencv -- extracting corners
- Python beginner's eighth day ()
- Necessary knowledge of Python: take you to learn regular expressions from zero
- Get your girlfriend's chat records with Python and solve the paranoia with one move
- My new book "Python 3 web crawler development practice (Second Edition)" has been recommended by the father of Python!
- From zero to familiarity, it will take you to master the use of Python len() function
- Python type hint type annotation guide
- leetcode 108. Convert Sorted Array to Binary Search Tree（python）
- For the geometric transformation of Python OpenCV image, let's first talk about the extraordinary resize function
- leetcode 701. Insert into a Binary Search Tree （python）
- For another 3 days, I sorted out 80 Python datetime examples, which must be collected!
- Python crawler actual combat | using multithreading to crawl lol HD Wallpaper
- Complete a python game in 28 minutes, "customer service play over the president card"
- The universal Python praise machine (commonly known as the brushing machine) in the whole network. Do you want to know the principle? After reading this article, you can write one yourself
- How does Python compare file differences between two paths
- Common OS operations for Python
- [Python data structure series] linear table - explanation of knowledge points + code implementation
- How Python parses web pages using BS4
- How do Python Network requests pass parameters
- Python core programming - decorator
- Python Network Programming -- create a simple UPD socket to realize mutual communication between two processes
- leetcode 110. Balanced Binary Tree（python）
- Django uses Django celery beat to dynamically add scheduled tasks
- The bear child said "you haven't seen Altman" and hurriedly studied it in Python. Unexpectedly
- Optimization iteration of nearest neighbor interpolation and bilinear interpolation algorithm for Python OpenCV image
- Bilinear interpolation algorithm for Python OpenCV image, the most detailed algorithm description in the whole network
- Use of Python partial()
- Python game development, pyGame module, python implementation of angry birds
- leetcode 1104. Path In Zigzag Labelled Binary Tree（python）
- Save time and effort. 10 lines of Python code automatically clean up duplicate files in the computer
- Learn python, know more meat, and be a "meat expert" in the technical circle. One article is enough
- [Python data structure series] "stack (sequential stack and chain stack)" -- Explanation of knowledge points + code implementation
- Datetime module of Python time series
- Python encrypts and decrypts des to solve the problem of inconsistency with Java results
- Chapter 1: introduction to Python programming-4 Hello World
- Summary of Python technical points
- 11.5K Star！ An open source Python static type checking Library
- Chapter 2: Fundamentals of python-1 grammar
- [Python daily homework] day4: write a function to count the number of occurrences of each number in the incoming list and return the corresponding dictionary.
- Python uses turtle to express white