turtle的简单绘图

接触python,就发现python是一门很有趣的课程。往往只需要利用几行简单的代码,就能绘制出简单漂亮的图案。毫不夸张的说,掌握好turtle库,就能绘制一整片蓝图。有时候,当我们遇到一些对称图形的时候,利用 for   in  循环语句,也能达到很好的效果。我们先了解一些关于turtle库的基本函数。

turtle库的基本函数:

一、绘图窗口设置命令

①turtle.setup(width,height,starty,starty)  注:(starty,starty)指的是绘图窗体左上角位置的坐标,这两个参数可选,若为空,则窗口位于屏幕中心

turtle.setup(100,100)
turtle.setup800, 800, 100,100)

②turtle.screensize(canvwidth=None, canvheight=None, bg=None)     参数分别为画布的宽(单位像素), 高, 背景颜色  注:若括号为空,则默认值为(400,300)

turtle.screensize(400, 300, "red")

二、坐标体系

(1)空间坐标体系

①turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗口中心为原点,向右为x轴,向上为y轴。

②turtle.fd(d)、turtle.forward(d):以当前方向,往前行进d像素。

③turtle.bk(d)、turtle.backword(d):保持当前方向不变,往后退行d像素。

④turtle.circle(r,angle):从当前位置以r为半径圆的angle角度旋转。

(2)角度坐标体系

①turtle.setheading(angle)也可简写为turtle.seth()    表示海龟改变行进角度,但不运动。绘图窗体以x轴为起点,将方向偏转为angle度,逆时针为正。

②turtle.left(angle):在当前行进方向的基础上,向左旋转angle度。

③turtle.right(angle):在当前行进方向的基础上,向右旋转angle度。

(3)画笔控制命令

①turtle.penup()  表示    抬笔

turtle.pendown()  表示   落笔

②turtle.pensize(x)  表示画笔宽度

③turtle.pencolor(颜色名red/RGB三元组/颜色编码)  表示画笔颜色  e.g.turtle.pencolor("red")  画笔为红色

turtle.colormode(mode)

④turtle.fillcolor(colorstring):绘制图形的填充颜色

turtle.begin_fill():开始填充

turtle.end_fill():结束填充

turtle.done()  写在末尾,程序运行完不会退出

注意:写代码之前要引入turtle库。

import turtle

图形绘制:一箭穿心

一、绘制一个爱心

import turtle
turtle.color(‘red‘, ‘pink‘)
turtle.pensize(2)
turtle.pendown()
turtle.seth(150)
turtle.begin_fill()
turtle.fd(40)
turtle.circle(40 * -3.745, 45)
turtle.circle(40 * -1.431, 165)
turtle.left(120)
turtle.circle(40 * -1.431, 165)
turtle.circle(40 * -3.745, 45)
turtle.fd(40)
turtle.end_fill()

 

效果如图

二、绘制箭

turtle.pensize(5)
turtle.pencolor("black")
turtle.seth(100)
turtle.penup()
turtle.fd(90)
turtle.pendown()
turtle.seth(75)
turtle.fd(20)
turtle.seth(-155)
turtle.fd(20)
turtle.seth(25)
turtle.penup()
turtle.fd(20)
turtle.pendown()
turtle.seth(-130)
turtle.fd(120)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.seth(180)
turtle.fd(10)
turtle.seth(50)
turtle.fd(15)
turtle.seth(0)
turtle.fd(10)
turtle.seth(-80)
turtle.fd(10)
turtle.seth(-130)
turtle.fd(15)
turtle.seth(100)
turtle.fd(10)
turtle.end_fill()

 三、将两者组合起来

import turtle
turtle.color(‘red‘, ‘pink‘)
turtle.pensize(2)
turtle.pendown()
turtle.seth(150)
turtle.begin_fill()
turtle.fd(40)
turtle.circle(40 * -3.745, 45)
turtle.circle(40 * -1.431, 165)
turtle.left(120)
turtle.circle(40 * -1.431, 165)
turtle.circle(40 * -3.745, 45)
turtle.fd(40)
turtle.end_fill()

turtle.pensize(5)
turtle.pencolor("black")
turtle.seth(100)
turtle.penup()
turtle.fd(90)
turtle.pendown()
turtle.seth(75)
turtle.fd(20)
turtle.seth(-155)
turtle.fd(20)
turtle.seth(25)
turtle.penup()
turtle.fd(20)
turtle.pendown()
turtle.seth(-130)
turtle.fd(120)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.seth(180)
turtle.fd(10)
turtle.seth(50)
turtle.fd(15)
turtle.seth(0)
turtle.fd(10)
turtle.seth(-80)
turtle.fd(10)
turtle.seth(-130)
turtle.fd(15)
turtle.seth(100)
turtle.fd(10)
turtle.end_fill()

  

效果如图

掌握了turtle库之后,我们可以根据自己的想法,画出更复杂,更漂亮的图画。

原文地址:https://www.cnblogs.com/deng11/p/12457964.html

时间: 2024-10-13 18:17:59

turtle的简单绘图的相关文章

学习简单绘图DrawNode

学习简单绘图DrawNode 尊重原创:http://cn.cocos2d-x.org/tutorial/show?id=1738 绘图的方式有两种: 使用OpenGL的绘图原语DrawPrimitives. 使用DrawNode. 本节中主要学习使用DrawNode来进行图形的绘制. [小知识] 分段数:即绘制曲线一般都是通过绘制“样条曲线”来实现,而分段数即样条段数. 二次贝塞尔曲线:起点终点之间的一条抛物线,利用一个控制点来控制抛物线的形状. 三次贝塞尔曲线:起点终点之间,利用两个控制点来

【4】 简单绘图(二)

在上一篇里已经向大家介绍了如何使用GDI+绘制简单的图像,这一篇继续向大家介绍其它一些绘图知识. 1.首先我们来看下上一篇中我们使用过的Pen. Pen的属性主要有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等 Pen p = new Pen(Color.Blue, 5);//设置笔的粗细为,颜色为蓝色 Graphics g =

Android实战简易教程-第三枪(实现简单绘图组件)

首先我们要了解触摸事件(OnTouchListener)指的是当用户接触到屏幕之后所产生的一种事件形式,而当用户在屏幕上划过时,可以使用触摸事件取得用户当前的坐标. 一.坐标显示 在实现画图功能之前,我们先利用触摸事件获得当前触摸的坐标. main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.c

turtle库--海龟绘图

turtle(海龟)库也是turtle绘图体系的python实现:1969年诞生,入门级的图形绘制库. python语言包含:标准库<随解释器直接安装到操作系统中的功能模块>和第三方库<需要经过安装才能使用的功能模块> 库library.包Package.模块Module,统称模块. turtle原理:一只海龟在画布上行走. 原文地址:https://www.cnblogs.com/pengwa1226/p/10398576.html

2019-04-15 Python之利用matplotlib和numpy的简单绘图

环境:win10家庭版, Anocada的 Spyder 一.简单使用 使用函数 plt.polt(x,y,label,color,width) 根据x,y 数组 绘制直,曲线 import numpy as np #引用numpy库,从新命名它为np(以后用np代替numpy,简洁) import matplotlib.pyplot as plt import matplotlib x = np.linspace(0,6,100) #在[0,6]平均分为100个print(x) #输出查看一下

SAS简单绘图

利用sas gplot/gchart 模块,可以完成简单统计图的绘制. 1.条形图.环形图.饼图等等: proc gchart data=XXXXX; vbar varname; run; 这个过程包含若干选项,注意一点的是subgroup 和group选项的区别,subgroup不分开列,而group则对不同的组分开绘制: 2.散点图.线图等等 proc gplot data=xxxxx; plot y*x; run; 当同一张表上包含若干不同的线时,判断这若干条线是否共用同一坐标系.如果确实

C# GDI+简单绘图

一.使用Pen画笔 Pen的主要属性有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等. Pen p = new Pen(Color.Blue, 5); Graphics g = this.CreateGraphics(); //这里在load中不行,在Paint中可以? //画虚线 p.DashStyle = System.Dra

数据分析,简单绘图

import matplotlib.pylab as pb #matplotlib模块下pylab可以绘制相应的散点图,折线图,直线图,子图 #而subplot是绘制简单的子图,他是根据你提供相应的数据所显示数据的区间 pb.subplot(2,2,2)x=[1,3,5,7,9]y=[2,4,6,8,10]pb.plot(x,y)pb.subplot(2,1,2)x1=[1,5,7,4,3]y1=[2,8,9,6,7]pb.plot(x1,y1)pb.subplot(2,2,1)x2=[8,6,

CoreGraphics简单绘图

一.导入coreGraphics.framework 二.绘制图形 1.绘制矩形 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 绘制矩形 - (void)drawRectangle {     // 定义矩形的rect     CGRect rectangle = CGRectMake(100, 290, 120, 25);          // 获取当前图形,视图推入堆栈的图形,相当于你所要绘制图形的图纸     CGContextRef