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

目标图片:

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

# __author__ :kusy

# __content__:文件说明

# __date__:2018/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画小绵羊相关推荐

  1. python用turtle画月亮_使用Python的turtle画小猪乔治和哆啦 A 梦

    本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...

  2. python turtle画熊猫人_使用Python的turtle画小猪乔治

    import turtle as t '''t.pu() 提起画笔t.pd() 移动时绘制图形,缺省时也为绘制t.seth 设置当前朝向为angle角度t.begin_fill() 准备开始填充图形t ...

  3. python turtle画动物_使用Python的turtle画小绵羊

    #-*- coding:utf-8 -*-#__author__ :kusy#__content__:文件说明#__date__:2018/8/21 13:08 importturtleimportt ...

  4. python画小猪乔治动画片全集_使用Python的turtle画小猪乔治和哆啦 A 梦!附源码!...

    本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...

  5. pythonturtle画房子_用python的turtle模块实现给女票画个小心心

    晚上自习无聊 正好拿自己的平板电脑用python写了个小程序,运用turtle模块画一个小心心,并在心上画女票名字的首字母缩写,单纯只为红颜一笑. 代码贴出来,很简单 import turtle im ...

  6. python turtle画滑稽_使用python的turtle函数绘制一个滑稽表情的方法

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  7. python乌龟画五角星_使用Python的turtle模块画五角星

    使用Python中的turtle模块绘制五角星 代码 # 画国旗上的五角星 import turtle import math import numpy as np # 按照下面网址的国旗上五个五角星 ...

  8. 用python的turtle画同心圆_在Python中用turtle函数画同心圆

    原博文 2019-12-24 09:01 − 用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在 ...

  9. python怎么用turtle画圆_在Python中用turtle函数画同心圆

    用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...

最新文章

  1. TabLayout的指示器长度 的问题
  2. 价值1143元的《R语言统计分析微生物组数据(Statistical Analysis of Microbiome Data with R)》系列图书
  3. 在Visual Studio中使用序列图描述对象之间的互动
  4. Keil 汇编窗口无法设置断点,disassembly显示错误,Keil汇编解析错误
  5. 【AI产品】听着AI为照片生成的专属轻音乐,你还会失眠吗
  6. 声明 定义 java_Java:定义术语初始化、声明和分配
  7. iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer...
  8. MIP开发教程(三) 使用MIP-CLI工具调试组件
  9. AjaxFileUploader上传插件 兼容性好
  10. C/C++常见问题(转)
  11. 深度剖析Java数据结构之表(二)——List接口
  12. yslow各个指标含义
  13. [原创] 数据库小工具 (BatchESQL.exe)
  14. keil(arm)中配置c99方法 及 C99特性
  15. 新版2002觅知blibli专用可对接JSON解析弹幕播放器-所有后台功能一键管理-更新22-4-29详解
  16. 手机浏览器能上网微信无法连接服务器,苹果手机微信可以上网浏览器不能
  17. 360P 480P 720P 1080P 1080i 说明
  18. 百度静态网站全站搜索功能
  19. 《Python与硬件项目案例》— 基于Python与指纹模块AS608的指纹识别签到考勤系统(下篇)(期末大作业、课程设计、毕业设计、结课项目)
  20. 追求境界,毫无“线”制 NINEKA南卡T1真无线蓝牙耳机

热门文章

  1. 深度学习框架人脸识别介绍
  2. 第4章 分布式同步服务中间件
  3. python中文乱码-ValueError: Key axes.unicode_minus: Could not convert “flase“ to bool错误的解决方法
  4. 智慧物流对于智慧城市有多重要?
  5. 《4点起床-最养生和高效的时间管理》读书笔记
  6. ubuntu18.4下beego环境搭建
  7. FireBird CXP12新一代采集卡—AS-FBD-4XCXP12-3PE8在机器视觉中的应用
  8. Mybatis的一级缓存和二级缓存机制原理和区别
  9. IdentityServer4 Clients
  10. Invensys Simsci-Esscor.DYNSIM.V5.32动态模拟软件