QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

实例展示使用Python画一个可爱的笑脸,附带总结海龟库turtle用法

日期:2025/04/03 10:47来源:未知 人气:54

导读:我们知道,Python中有一个很有趣的库Turtle,它是一个很流行的绘制图像的函数库。在绘制图像时,它就像一个小乌龟,根据一组函数指令的控制,在一个横轴为x、纵轴为y的坐标系原点,在这个平面坐标系中移动,通过在屏幕中绘制、填充等操作,在它爬行的路径上绘制图形。今天,我们来演示下使用Turtle库在屏幕中如何绘制一个可爱的笑脸。先来看下效果01前置知识点在绘制笑脸之前,我们来看......

我们知道,Python中有一个很有趣的库Turtle,它是一个很流行的绘制图像的函数库。在绘制图像时,它就像一个小乌龟,根据一组函数指令的控制,在一个横轴为x、纵轴为y的坐标系原点,在这个平面坐标系中移动,通过在屏幕中绘制、填充等操作,在它爬行的路径上绘制图形。

今天,我们来演示下使用Turtle库在屏幕中如何绘制一个可爱的笑脸。先来看下效果

01前置知识点

在绘制笑脸之前,我们来看下这只可爱的小海龟的绘图过程

【导入库】

import turtle

当然,可以直接使用from turtle import *

【准备一块画布(表述可能有误,但这样可以这样理解)】

turtle.setup(width,height,startx,starty)

width:画布宽度

height:画布高度

startx:画布x坐标

starty:画布y坐标

当startx和starty参数不赋值时,默认画布窗口居中。当然,你也可以不传入任何参数,使用turtle.setup(),Turtle会为你自动准备一块画布。

在绘画之前,我们还要进行一些个性化的设置。

比如,如果不想显示小海龟,如何操作?

turtle.hideturtle()# 隐藏小乌龟

turtle.showturtle()# 显示小乌龟

如何清空画布?

turtle.clear()# 清空画板

turtle.reset() #清空画板,并让小乌龟回到初始位置

【画笔控制】

turtle.penup() 别名turtle.pu():画笔抬起,不留下痕迹turtle.pendown() 别名turtle.pd():画笔落下,留下痕迹turtle.pensize(width) 别名turtle.width(width):画笔宽度turtle.pencolor(color):color为颜色字符串或者rgb值【小乌龟移动】

运动控制

绝对坐标:turtle.goto(100,100) # 从当前的点移动到括号内所给坐标

海龟坐标:以小乌龟当前点为坐标,有前方向,后方向,左方向,右方向

turtle.forward(distance) 别名fd(d):向前移动distance(float)

turtle.back(distance)别名bk(d):后退移动distance(float)

方向控制

turtle.circle(r,angle):指沿着海龟左侧的某一点做圆运动

绝对角度:turtle.seth(angle)别名turtle.seth(angle):只改变海龟的行进方向(角度按逆时针),但不运动,angle为绝对度数 ,在平行于X轴的基础上,改变画笔绘制方向

海龟角度:

turtle.left(angle):向左移动angle(float)

turtle.right(angle):向右移动angle(float)

02妥善保存

下面几张表格请妥善保存,以备后需!有网友对知识点进行了汇总,这里贴上来供大家学习。

【画笔运动函数】

【画笔控制函数】

【全局控制命令】

【其它命令】

这几张表格由CSDN网友提供,想要学习Turtle库的小伙伴赶紧收藏吧!

03案例演示:做一个可爱的笑脸

下面,我们来看一个有趣的案例,这里不再粘贴源代码了。细看这个笑脸,其实就是基本的圆弧、圆组成的。

分步骤绘制即可。

(1)画脸,很简单,它是一个圆圈

penup()goto(-210,0)seth(-90)pendown()pencolor('black')pensize(4)begin_fill()circle(210,360)fillcolor('orange')end_fill()pencolor('black')

(2)嘴巴 ,一个接近半圆的弧度

pensize(5)penup()goto(-150,-30)pendown()seth(-90)circle(150,180)

(3)左眼眶(右眼眶类似)

penup()pensize(4)goto(-180,90)pendown()seth(40)begin_fill()circle(-120,80)penup()goto(-180,90)seth(-130)pendown()circle(15,110)seth(40)circle(-106,83)seth(30)circle(18,105)fillcolor('white')end_fill()

(4)左眼球

pensize(2)penup()goto(50,95)pendown()begin_fill()circle(8,360)fillcolor('black')end_fill()

(5)左边粉红脸蛋(右边类似)

pensize(1)pencolor('pink')begin_fill()penup()goto(-160,50)pendown()seth(-90)for i in range(2):for j in range(10): forward(j) left(9) for j in range(10,0,-1): forward(j) left(9)fillcolor('pink')end_fill()

附上效果图。

好了,今天的内容就到这里了,喜欢Python编程的小伙伴关注我,后续为大家推出更加精彩的内容,程序源代码关注私信“xiaolian”即可获取。

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告