使用Python画一朵玫瑰花
生活随笔
收集整理的這篇文章主要介紹了
使用Python画一朵玫瑰花
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*-
# @Time : 18-9-14 下午12:47
# @Author : Felix Wangfrom turtle import *
import timesetup(600, 800, 0, 0)
speed(0)
penup()
seth(90)
fd(340)
seth(0)
pendown()
#
speed(5)
begin_fill()
fillcolor('red')
circle(50, 30)for i in range(10):fd(1)left(10)
#
circle(40, 40)
#
for i in range(6):fd(1)left(3)
#
circle(80, 40)
#
for i in range(20):fd(0.5)left(5)
#
circle(80, 45)
#
for i in range(10):fd(2)left(1)
#
circle(80, 25)
#
for i in range(20):fd(1)left(4)
#
circle(50, 50)
#
time.sleep(0.1)
#
circle(120, 55)
#
speed(0)
#
seth(-90)
fd(70)
#
right(150)
fd(20)left(140)
circle(140, 90)left(30)
circle(160, 100)left(130)
fd(25)penup()
right(150)
circle(40, 80)
pendown()left(115)
fd(60)penup()
left(180)
fd(60)
pendown()end_fill()right(120)
circle(-50, 50)
circle(-20, 90)speed(1)
fd(75)speed(0)
circle(90, 110)penup()
left(162)
fd(185)
left(170)
pendown()
circle(200, 10)
circle(100, 40)
circle(-52, 115)
left(20)
circle(100, 20)
circle(300, 20)
speed(1)
fd(250)penup()
speed(0)
left(180)
fd(250)
circle(-300, 7)
right(80)
circle(200, 5)
pendown()left(60)
begin_fill()
fillcolor('green')
circle(-80, 100)
right(90)
fd(10)
left(20)
circle(-63, 127)
end_fill()penup()
left(50)
fd(20)
left(180)pendown()
circle(200, 25)penup()
right(150)fd(180)right(40)
pendown()
begin_fill()
fillcolor('green')
circle(-100, 80)
right(150)
fd(10)
left(60)
circle(-80, 98)
end_fill()penup()
left(60)
fd(13)
left(180)pendown()
speed(1)
circle(-200, 23)exitonclick()
效果圖:
再附上一朵小花的繪制方法:
# -*- coding: utf-8 -*- # @Time : 18-9-14 下午3:23 # @Author : Felix Wangimport turtle import mathdef p_line(t, n, length, angle):"""Draws n line segments."""for i in range(n):t.fd(length)t.lt(angle)def polygon(t, n, length):"""Draws a polygon with n sides."""angle = 360 / np_line(t, n, length, angle)def arc(t, r, angle):"""Draws an arc with the given radius and angle."""arc_length = 2 * math.pi * r * abs(angle) / 360n = int(arc_length / 4) + 1step_length = arc_length / nstep_angle = float(angle) / n# Before starting reduces, making a slight left turn.t.lt(step_angle / 2)p_line(t, n, step_length, step_angle)t.rt(step_angle / 2)def petal(t, r, angle):"""Draws a 花瓣 using two arcs."""for i in range(2):arc(t, r, angle)t.lt(180 - angle)def flower(t, n, r, angle, p):"""Draws a flower with n petals."""for i in range(n):petal(t, r, angle)t.lt(p / n)def leaf(t, r, angle, p):"""Draws a 葉子 and fill it."""t.begin_fill() # Begin the fill process. t.down()flower(t, 1, r, angle, p)t.end_fill()def main():window = turtle.Screen() # creat a screenwindow.bgcolor("white")window.title("draw a flower")lucy = turtle.Turtle()lucy.shape("turtle")lucy.color("red")lucy.width(3)# lucy.speed(10)# Drawing flowerflower(lucy, 7, 60, 100, 360)# Drawing pedicellucy.color("brown")lucy.rt(90)lucy.fd(200)# Drawing leaf 1lucy.width(1)lucy.rt(270)lucy.color("green")leaf(lucy, 40, 80, 180)lucy.rt(140)lucy.color("black")lucy.fd(30)lucy.lt(180)lucy.fd(30)# Drawing leaf 2lucy.rt(120)lucy.color("green")leaf(lucy, 40, 80, 180)lucy.color("black")lucy.rt(140)lucy.fd(30)lucy.ht() # hideturtle window.exitonclick()main() 一朵小花?
轉載于:https://www.cnblogs.com/felixwang2/p/9646784.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的使用Python画一朵玫瑰花的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu安装VLC播放器
- 下一篇: ans_rproxy 说明