失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > pythonturtle画小白兔_使用Python的turtle画小绵羊

pythonturtle画小白兔_使用Python的turtle画小绵羊

时间:2023-10-22 01:49:40

相关推荐

pythonturtle画小白兔_使用Python的turtle画小绵羊

今天学习使用turtle画图,本来想实现个3D效果,结果2D都画了半天,画圆被绕晕了

目标图片:

实现代码:# -*- coding:utf-8 -*-

# __author__ :kusy

# __content__:文件说明

# __date__:/8/21 13:08

import turtle

import time

import math as m

class Sheep(object):

def __init__(self,xsize):

self.t = turtle.Turtle()

self.xsize = xsize

t = self.t

# 画笔设置

t.screen.screensize(canvwidth=1000,canvheight=500,bg='white')

t.pensize(2)

t.speed(10)

# t.hideturtle()

#初始化画笔位置

t.penup()

t.setpos(self.xsize,0)

t.pendown()

# 设置画笔坐标

def setxy(self,x,y):

t = self.t

t.penup()

pos_x = t.position()[0]

pos_y = t.position()[1]

t.setpos(pos_x + x,pos_y + y)

t.pendown()

def create_sheep(self):

t = self.t

# 羊头

self.setxy(-200,0)

t.fillcolor('black')

t.begin_fill()

t.circle(100)

t.end_fill()

# 眼睛

# 眼白

print(t.position())

self.setxy(-20,120)

t.fillcolor('white')

t.begin_fill()

t.seth(45)

t.circle(18,-280)

t.seth(45)

t.circle(-20,292)

t.end_fill()

# 眼珠

self.setxy(3,12)

t.fillcolor('black')

t.begin_fill()

t.seth(85)

t.circle(10)

t.seth(85)

t.circle(-10)

t.end_fill()

# 眼心

t.fillcolor('white')

t.begin_fill()

t.seth(85)

t.circle(3)

t.seth(85)

t.circle(-3)

t.end_fill()

# 嘴

self.setxy(0,-100)

t.color('red')

t.seth(300)

t.forward(8)

self.setxy(-1, 3)

t.seth(0)

t.circle(80,60)

self.setxy(2, -2)

t.seth(145)

t.forward(8)

t.color('black')

# 耳朵

self.setxy(-145,120)

p1 = t.position()

t.fillcolor('black')

t.begin_fill()

t.seth(0)

t.circle(-120,20)

p2 = t.position()

t.setpos(p1)

t.seth(60)

t.circle(-30,120)

t.goto(p2)

t.end_fill()

# 身体

self.setxy(41,12)

t.seth(45)

t.circle(-150,100)

t.pensize(5)

t.seth(0)

t.circle(-120,30)

t.seth(60)

t.circle(-15,320)

t.seth(330)

t.circle(-80,180)

t.seth(210)

t.circle(-80,90)

#4条腿

t.pensize(2)

for leg in range(4):

self.setxy(8+15*leg,0)

t.seth(270)

t.forward(80)

t.seth(0)

t.forward(8)

t.seth(90)

t.forward(80)

#草

self.setxy(-200,-80)

p3 = t.position()

t.color('green')

t.fillcolor('green')

t.begin_fill()

t.seth(120)

t.forward(30)

t.seth(330)

t.forward(30)

t.seth(60)

t.forward(40)

t.seth(260)

t.forward(45)

t.setpos(p3)

t.end_fill()

if __name__ == '__main__':

for x in (0,350):

sheep = Sheep(x)

sheep.create_sheep()

time.sleep(5)

实际效果(2只羊):

PS:circle函数使用记录turtle.circle(radius, extent=None, steps=None)

描述: 以给定半径画圆

参数:

radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)

radius > 0,逆时针画圆

radius < 0,顺时针画圆

extent > 0,取正方向的圆

extent < 0,取反方向的圆

参考资料

如果觉得《pythonturtle画小白兔_使用Python的turtle画小绵羊》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。