用python绘制漂亮的图形

本文详细介绍使用Python的Turtle模块绘制各种图形的方法,包括樱花树、五角星、艺术字、心形图案等,展示了如何通过代码实现创意绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绘制一个樱花树 

# 画一棵樱花

import turtle
import random
from turtle import *
from time import sleep


# 画樱花的躯干(60,t)
def tree(branchLen,t):
    sleep(0.0005)
    if branchLen >3:
        if 8<= branchLen <=12:
            if random.randint(0,2) == 0:
                t.color('snow') # 白
            else:
                t.color('lightcoral') # 淡珊瑚色
            t.pensize(branchLen / 3)
        elif branchLen <8:
            if random.randint(0,1) == 0:
                t.color('snow')
            else:
                t.color('lightcoral') # 淡珊瑚色
            t.pensize(branchLen / 2)
        else:
            t.color('sienna') # 赭(zhě)色
            t.pensize(branchLen / 10) # 6
        t.forward(branchLen)
        a = 1.5 * random.random()
        t.right(20*a)
        b = 1.5 * random.random()
        tree(branchLen-10*b, t)
        t.left(40*a)
        tree(branchLen-10*b, t)
        t.right(20*a)
        t.up()
        t.backward(branchLen)
        t.down()

# 掉落的花瓣
def petal(m, t):
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral') # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)

def main():
    # 绘图区域
    t = turtle.Turtle()
    # 画布大小
    w = turtle.Screen()
    t.hideturtle() # 隐藏画笔
    getscreen().tracer(5,0)
    w.screensize(bg='wheat') # wheat小麦
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')

    # 画樱花的躯干
    tree(60,t)
    # 掉落的花瓣
    petal(200, t)
    w.exitonclick()

main()

 

绘制五角星

import turtle
import time

#绘制五角星
turtle.pensize(5)
turtle.pencolor("yellow")
turtle.fillcolor("red")
 
turtle.begin_fill()

for _ in range(5):
    turtle.forward(200)
    turtle.right(144)
turtle.end_fill()
time.sleep(2)

turtle.penup()
turtle.goto(-150,-120)
turtle.color("violet")
turtle.write("Done", font=('Arial', 40, 'normal'))
time.sleep(1)

 

绘制艺术字

from turtle import *

def writeT(mystr,fontsize=60):

        pendown()

        write(mystr,font=('沙孟海书法字体',fontsize,'normal'))

        penup()

def yinzhang():

        pensize(2)

        pencolor('red')

        pendown()

        for i in range(4):

                forward(56)

                left(90)

        write('匠一\n人石',font=('经典繁方篆',20,'normal'))

        penup()

def yinzhang2():

        pensize(3)

        pencolor('white')

        fillcolor('red')

        begin_fill()

        for i in range(4):

                forward(56)

                left(90)

        end_fill()

        write('匠一\n人石',font=('经典繁方篆',20,'normal'))

        penup()

def action():

        penup()

        goto(30,-200)

        writeT('用\n心\n若\n镜',60)

        goto(-70,-200)

        writeT('胜\n物\n不\n伤',60)

        goto(-140,0)

        writeT('一\n石',15)

        goto(-160,-70)

        yinzhang()

        goto(-160,-140)

        yinzhang2()

        hideturtle()

def action2():

        penup()

        goto(30,-200)

        write('无\n用\n之\n用',font=('迷你繁篆书',70,'normal'))

        goto(-70,-200)

        write('是\n为\n大\n用',font=('迷你繁篆书',70,'normal'))

        goto(-140,0)

        writeT('一\n石',15)

        goto(-160,-70)

        yinzhang()

        goto(-160,-140)

        yinzhang2()

        hideturtle()

action()


#action2()

运行action()结果如下:

运行action2()结果如下:

绘制心 

import turtle
import time
Name=['F','R']
def draw_circle():
    for i in range (200):
        turtle.right(1)
        turtle.forward(1)
def draw_love():
    turtle.color('red','pink')
    turtle.pensize(2)
    turtle.speed(1000)
    turtle.goto(0,0)
    turtle.begin_fill()
    turtle.left(140)
    turtle.forward(112)
    draw_circle()
    turtle.left(120)
    draw_circle()
    turtle.forward(112)
    turtle.end_fill()

draw_love()

 

python绘图: 祝福河南理工大学110周年快乐


from turtle import *
from time import sleep
 
def go_to(x, y):
   up()
   goto(x, y)
   down()
 
def head(x,y,r):
    go_to(x,y)
    speed(1)
    circle(r)
    leg(x,y)
 
def leg(x,y):
 
    right(90)
    forward(180)
    right(30)
    forward(100)
    left(120)
    go_to(x,y-180)
    forward(100)
    right(120)
    forward(100)
    left(120)
    hand(x,y)
 
 
def hand(x,y):
    go_to(x,y-60)
    forward(100)
    left(60)
    forward(100)
    go_to(x, y - 90)
    right(60)
    forward(100)
    right(60)
    forward(100)
    left(60)
    eye(x,y)
 
def eye(x,y):
    go_to(x-50,y+130)
    right(90)
    forward(50)
    go_to(x+40,y+130)
    forward(50)
    left(90)
 
 
def big_Circle(size):
   speed(20)
   for i in range(150):
       forward(size)
       right(0.3)
def line(size):
   speed(10)
   forward(51*size)
 
def small_Circle(size):
   speed(10)
   for i in range(210):
       forward(size)
       right(0.786)
 
 
 
def heart(x, y, size):
   speed(20)
   go_to(x, y)
   left(150)
   begin_fill()
   line(size)
   big_Circle(size)
   small_Circle(size)
   left(120)
   small_Circle(size)
   big_Circle(size)
   line(size)
   end_fill()
   go_to(190, -10)
   write('HPU',font=('经典繁方篆',70,'normal'))
 
def main():
    pensize(2)
    color('red', 'pink')
    head(-120, 100, 100)
    heart(250, -80, 1)
    go_to(150, -300)
    write("To: 祝福河南理工大学110周年快乐(*^▽^*)", move=True, align="left", font=("楷体", 20, "normal"))
    done()
 
main()

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值