海龟画图
Python-Turtle库(海龟绘图)基础知识点
Python-Turtle库(海龟绘图)基础知识点中国⼤学MOOC《python语⾔程序设计》课程 ——学习⽇记⼀、Turtle库绘图原理: 可以想象成有⼀只海龟,初始位置在窗⼝中⼼,且⽅向朝正右⽅; 海龟⾛过的轨迹形成了绘制的图案: 我们通过编写程序,控制海龟的⾏动轨迹,并且可以设定轨迹的⼤⼩、颜⾊等等。
⼆、Turtle的绘图窗⼝: 函数:turtle.setup(width, height, startx, starty) 表⽰建⽴⼀个绘图窗⼝ width:绘图窗⼝的宽度(像素) height:绘图窗⼝的⾼度(像素) startx:(绘图窗⼝左上⾓的点)距离屏蔽左侧的距离(像素) starty:(绘图窗⼝左上⾓的点)距离屏蔽顶部的距离(像素) Ps:startx和starty可以不填,表⽰绘图窗⼝在电脑屏幕上居中。
函数:turtle.screensize(width, height, "颜⾊") 表⽰建⽴⼀个绘图窗⼝,并定义背景颜⾊三、Turtle空间坐标体系: 函数:turtle.goto(x, y) 表⽰移动到窗⼝上的某⼀点(注:带轨迹) .goto函数是以绘图窗⼝中⼼为坐标原点,把窗⼝划分为4个象限的坐标系。
PS:如果移动过程中不想带轨迹,可配合turtle.penup()和turtle.pendown()这两个函数使⽤。
turtle.penup():提起画笔(海龟起飞),库别名:turtle.up() turtle.pendown():落下画笔(海龟降落),库别名:turtle.pd() 函数:turtle.forword(d) 别名 turtle.fd(d):前进(d:距离) 函数:turtle.backward(d) 别名 turtle.bk(d):后退(d:距离) 函数:turtle.circle(r, angle):画⼀个半径为r,⾓度为angle的圆。
python海龟绘图实例教程
python海龟绘图实例教程本⽂以实例形式介绍了python turtle模块即海龟绘图的使⽤⽅法,对于需要进⾏图形编程的朋友相信会有⼀定的借鉴价值。
python turtle模块简介:python2.6版本中引⼊的⼀个简单的绘图⼯具,叫做海龟绘图(Turtle Graphics)1.使⽤海龟绘图⾸先我们需要导⼊turtle,如下所⽰:from turtle import * #将turtle中的所有⽅法导⼊2.海龟绘图属性:(1)位置(2)⽅向(3)画笔(画笔的属性,颜⾊、画线的宽度)3.操纵海龟绘图有着许多的命令,这些命令可以划分为两种:⼀种为运动命令,⼀种为画笔控制命令(1)运动命令:forward(degree) #向前移动距离degree代表距离backward(degree) #向后移动距离degree代表距离right(degree) #向右移动多少度left(degree) #向左移动多少度goto(x,y) #将画笔移动到坐标为x,y的位置stamp() #复制当前图形speed(speed) #画笔绘制的速度范围[0,10]整数(2)画笔控制命令:down() #移动时绘制图形,缺省时也为绘制up() #移动时不绘制图形pensize(width) #绘制图形时的宽度color(colorstring) #绘制图形时的颜⾊fillcolor(colorstring) #绘制图形的填充颜⾊fill(Ture)fill(false)4.关于turtle简介许多下⾯我们看个实例:(⼀)绘制正⽅形:import turtleimport time#定义绘制时画笔的颜⾊turtle.color("purple")#定义绘制时画笔的线条的宽度turtle.size(5)#定义绘图的速度turtle.speed(10)#以0,0为起点进⾏绘制turtle.goto(0,0)#绘出正⽅形的四条边for i in range(4):turtle.forward(100)turtle.right(90)#画笔移动到点(-150,-120)时不绘图turtle.up()turtle.goto(-150,-120)#再次定义画笔颜⾊turtle.color("red")#在(-150,-120)点上打印"Done"turtle.write("Done")time.sleep(3)(⼆)绘制五⾓星:import turtleimport timeturtle.color("purple")turtle.pensize(5)turtle.goto(0,0)turtle.speed(10)for i in range(6):turtle.forward(100)turtle.right(144)turtle.up()turtle.forward(100)turtle.goto(-150,-120)turtle.color("red")turtle.write("Done")time.sleep(3)这⾥给出了两个简单的实例,⼤家可以根据上⾯的思路与⽅法进⼀步拓展,绘制出⼀些更复杂的图形。
python海龟画图知识点总结
python海龟画图知识点总结一、海龟绘图简介海龟绘图是Python语言中的一个标准库,它提供了一个简单的图形绘制功能。
这个模块的灵感来源于小孩子玩耍时的画画游戏,通过调用不同的函数来控制海龟的行为,我们可以在画布上绘制出各种各样的图案和图形。
海龟绘图是一个很好的初学者入门编程的工具,因为它的操作简单直观,而且很容易理解。
二、海龟模块的基本功能在Python中使用海龟绘图,首先我们需要导入turtle这个模块:```pythonimport turtle```接着我们创建一个海龟对象,我们可以给海龟对象取一个名字,比如叫做“t”:```pythont = turtle.Turtle()```接下来,我们就可以开始控制海龟来绘制图形了。
海龟绘图主要通过控制海龟对象的移动和转向来完成,下面是一些常用的海龟操作方法:- 前进:t.forward(distance),表示海龟向当前方向前进一定距离。
- 后退:t.backward(distance),表示海龟向当前方向后退一定距离。
- 左转:t.left(angle),表示海龟向左转动一定角度。
- 右转:t.right(angle),表示海龟向右转动一定角度。
- 提起笔:t.penup(),表示海龟抬起笔,不在绘制图形。
- 落下笔:t.pendown(),表示海龟落下笔,开始绘制图形。
- 设置颜色:t.color(color),表示设置海龟的颜色。
通过组合这些操作方法,我们就可以控制海龟画出各种各样的图案。
下面我们来看几个简单的例子,来演示一下海龟绘图的具体操作。
```pythonimport turtlet = turtle.Turtle()t.forward(100)t.left(90)t.forward(100)t.left(90)t.forward(100)t.left(90)t.forward(100)t.left(90)```这段代码就是使用海龟绘制了一个正方形。
海龟绘图(TurtleGraphics)
海龟绘图(TurtleGraphics)python2.6版本中后引⼊的⼀个简单的绘图⼯具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使⽤导⼊即可import turtle先说明⼀下turtle绘图的基础知识:1. 画布(canvas)画布就是turtle为我们展开⽤于绘图区域, 我们可以设置它的⼤⼩和初始位置1.1 设置画布⼤⼩turtle.screensize(canvwidth=None, canvheight=None, bg=None)参数分别为画布的宽(单位像素), ⾼, 背景颜⾊如:turtle.screensize(800, 600, "green")turtle.screensize() #返回默认⼤⼩(400, 300)turtle.setup(width=0.5, height=0.75, startx=None, starty=None)参数:width, height: 输⼊宽和⾼为整数时, 表⽰像素; 为⼩数时, 表⽰占据电脑屏幕的⽐例(startx, starty): 这⼀坐标表⽰矩形窗⼝左上⾓顶点的位置, 如果为空,则窗⼝位于屏幕中⼼如:turtle.setup(width=0.6, height=0.6)turtle.setup(width=800, height=800, startx=100, starty=100)2. 画笔2.1 画笔的状态在画布上,默认有⼀个坐标原点为画布中⼼的坐标轴, 坐标原点上有⼀只⾯朝x轴正⽅向⼩乌龟. 这⾥我们描述⼩乌龟时使⽤了两个词语:坐标原点(位置),⾯朝x轴正⽅向(⽅向), turtle绘图中, 就是使⽤位置⽅向描述⼩乌龟(画笔)的状态2.2 画笔的属性画笔(画笔的属性,颜⾊、画线的宽度)1) turtle.pensize():设置画笔的宽度;2) turtle.pencolor(); 没有参数传⼊,返回当前画笔颜⾊,传⼊参数设置画笔颜⾊,可以是字符串如"green", "red",也可以是RGB 3元组,>>> pencolor('brown')>>> tup = (0.2, 0.8, 0.55)>>> pencolor(tup)>>> pencolor()'#33cc8c'3) turtle.speed(speed): 设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越⼤越快2.3 绘图命令操纵海龟绘图有着许多的命令,这些命令可以划分为3种:⼀种为运动命令,⼀种为画笔控制命令,还有⼀种是全局控制命令(1)画笔运动命令:命令说明turtle.forward(distance)向当前画笔⽅向移动distance像素长turtle.backward(distance)向当前画笔相反⽅向移动distance像素长度turtle.right(degree)顺时针移动degree°turtle.left(degree)逆时针移动degree°turtle.pendown()移动时绘制图形,缺省时也为绘制turtle.goto(x,y)将画笔移动到坐标为x,y的位置turtle.penup()移动时不绘制图形,提起笔,⽤于另起⼀个地⽅绘制时⽤turtle.speed(speed)画笔绘制的速度范围[0,10]整数命令说明(2)画笔控制命令:命令说明turtle.pensize(width)绘制图形时的宽度turtle.pencolor()画笔颜⾊turtle.fillcolor(colorstring)绘制图形的填充颜⾊turtle.color(color1, color2)同时设置pencolor=color1, fillcolor=color2turtle.filling()返回当前是否在填充状态turtle.begin_fill()准备开始填充图形turtle.end_fill()填充完成;turtle.hideturtle()隐藏箭头显⽰;turtle.showturtle()与hideturtle()函数对应(3) 全局控制命令命令说明turtle.clear()清空turtle窗⼝,但是turtle的位置和状态不会改变turtle.reset()清空窗⼝,重置turtle状态为起始状态turtle.undo()撤销上⼀个turtle动作turtle.isvisible()返回当前turtle是否可见stamp()复制当前图形turtle.write(s[,font=("font-name",font_size,"font_type")])写⽂本,s为⽂本内容,font是字体的参数,⾥⾯分别为字体名称,⼤⼩和类型;font为可选项, font的参数也是可选项3. 命令详解3.1 turtle.circle(radius, extent=None, steps=None)描述: 以给定半径画圆参数:radius(半径); 半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)举例:circle(50) # 整圆;circle(50,steps=3) # 三⾓形;circle(120, 180) # 半圆4. 绘图举例4.1 太阳花import turtle as timport timet.color("red", "yellow")t.speed(10)t.begin_fill()for _ in range(50):t.forward(200)t.left(170)end_fill()time.sleep(1)4.2 绘制⼩蟒蛇import turtledef drawSnake(rad, angle, len, neckrad):for _ in range(len):turtle.circle(rad, angle)turtle.circle(-rad, angle)turtle.circle(rad, angle/2)turtle.circle(neckrad, 180)turtle.forward(rad/4)if __name__ == "__main__":turtle.setup(1500, 1400, 0, 0)turtle.pensize(30) # 画笔尺⼨turtle.pencolor("green")turtle.seth(-40) # 前进的⽅向drawSnake(70, 80, 2, 15)4.3 绘制五⾓星import turtleimport timeturtle.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)4.4 ⼩猪佩奇感谢的⼩猪佩奇, 很传神:)#!/usr/bin/python# -*- coding: utf-8 -*-"""@time :2018/10/10 10:18@author: yang.bin"""# coding:utf-8import turtle as t# 绘制⼩猪佩奇# ======================================= t.pensize(4)t.hideturtle()t.colormode(255)t.color((255, 155, 192), "pink")t.setup(840, 500)t.speed(10)# ⿐⼦t.penup()t.goto(-100,100)t.pendown()t.seth(-30)t.begin_fill()a = 0.4for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a = a+0.08t.left(3) # 向左转3度t.forward(a) # 向前⾛a的步长else:a = a-0.08t.forward(a)t.end_fill()t.penup()t.seth(90)t.forward(25)t.seth(0)t.forward(10)t.pendown()t.pencolor(255, 155, 192)t.seth(10)t.begin_fill()t.circle(5)t.color(160, 82, 45)t.end_fill()t.penup()t.seth(0)t.forward(20)t.pendown()t.pencolor(255, 155, 192)t.seth(10)t.begin_fill()t.circle(5)t.color(160, 82, 45)t.end_fill()# 头t.color((255, 155, 192), "pink") t.penup()t.seth(90)t.forward(41)t.seth(0)t.forward(0)t.pendown()t.begin_fill()t.seth(180)t.circle(300, -30)t.circle(100, -60)t.circle(80, -100)t.circle(150, -20)t.circle(60, -95)t.seth(161)t.circle(-300, 15)t.penup()t.goto(-100, 100)t.pendown()t.seth(-30)a = 0.4for i in range(60):if 0 <= i < 30 or 60 <= i <90:a = a+0.08t.left(3) # 向左转3度t.forward(a) # 向前⾛a的步长 else:a = a-0.08t.left(3)t.forward(a)t.end_fill()# ⽿朵t.color((255, 155, 192), "pink") t.penup()t.seth(90)t.forward(-7)t.seth(0)t.forward(70)t.circle(-50, 50)t.circle(-10, 120)t.circle(-50, 54)t.end_fill()t.penup()t.seth(90)t.forward(-12)t.seth(0)t.forward(30)t.pendown()t.begin_fill()t.seth(100)t.circle(-50, 50)t.circle(-10, 120)t.circle(-50, 56)t.end_fill()#眼睛t.color((255, 155, 192), "white") t.penup()t.seth(90)t.forward(-20)t.seth(0)t.forward(-95)t.pendown()t.begin_fill()t.circle(15)t.end_fill()t.color("black")t.penup()t.seth(90)t.forward(12)t.seth(0)t.forward(-3)t.pendown()t.begin_fill()t.circle(3)t.end_fill()t.color((255, 155, 192), "white") t.penup()t.seth(90)t.forward(-25)t.seth(0)t.forward(40)t.pendown()t.begin_fill()t.circle(15)t.end_fill()t.color("black")t.penup()t.seth(90)t.forward(12)t.seth(0)t.forward(-3)t.pendown()t.begin_fill()t.circle(3)t.end_fill()# 腮t.color((255, 155, 192))t.seth(0)t.forward(65)t.pendown()t.begin_fill()t.circle(30)t.end_fill()# 嘴t.color(239, 69, 19)t.penup()t.seth(90)t.forward(15)t.seth(0)t.forward(-100)t.pendown()t.seth(-80)t.circle(30, 40)t.circle(40, 80)# ⾝体t.color("red", (255, 99, 71))t.penup()t.seth(90)t.forward(-20)t.seth(0)t.forward(-78)t.pendown()t.begin_fill()t.seth(-130)t.circle(100,10)t.circle(300,30)t.seth(0)t.forward(230)t.seth(90)t.circle(300,30)t.circle(100,3)t.color((255,155,192),(255,100,100)) t.seth(-135)t.circle(-80,63)t.circle(-150,24)t.end_fill()# ⼿t.color((255,155,192))t.penup()t.seth(90)t.forward(-40)t.seth(0)t.forward(-27)t.pendown()t.seth(-160)t.circle(300,15)t.penup()t.seth(90)t.forward(15)t.seth(0)t.forward(0)t.pendown()t.seth(-10)t.circle(-20,90)t.penup()t.seth(90)t.forward(30)t.seth(0)t.circle(-300,15)t.penup()t.seth(90)t.forward(20)t.seth(0)t.forward(0)t.pendown()t.seth(-170)t.circle(20,90)# 脚t.pensize(10)t.color((240,128,128)) t.penup()t.seth(90)t.forward(-75)t.seth(0)t.forward(-180)t.pendown()t.seth(-90)t.forward(40)t.seth(-180)t.color("black")t.pensize(15)t.forward(20)t.pensize(10)t.color((240, 128, 128)) t.penup()t.seth(90)t.forward(40)t.seth(0)t.forward(90)t.pendown()t.seth(-90)t.forward(40)t.seth(-180)t.color("black")t.pensize(15)t.forward(20)# 尾巴t.pensize(4)t.color((255, 155, 192)) t.penup()t.seth(90)t.forward(70)t.seth(0)t.forward(95)t.pendown()t.seth(0)t.circle(70, 20)t.circle(10, 330)t.circle(70, 30)t.done()。
turtle方法
turtle方法§§ 1000# turtle方法## 1、turtle方法简介Turtle 方法,又称“海龟绘图”,是一种基于 Python 的图形编程语言,它是一种工具,用于快速绘制图像,如矩阵图、极坐标图等。
Turtle 方法的优势在于可以轻松地通过计算机编程完成曲线、线段、图形和文本的绘制,因此,它是一种很有用的方法用于数学可视化和图像绘制。
## 2、turtle方法的用法Turtle 方法可通过Python编程来实现,主要的指令有:* `forward()`:向前移动的距离* `backward()`:向后移动的距离* `right()`:向右转动的角度* `left()`:向左转动的角度* `penup()`:抬起画笔,不绘制图形* `pendown()`:落下画笔,绘制图形* `goto()`:移动到指定的坐标* `dot()`:画一个圆点示例:§§ 1020```from turtle import * # 设置线条粗细:width(4)# 前进:forward(200)# 后退:backward(100)# 左转:left(90)# 右转:right(45)# 画点:dot(20)§§ 1040# 抬起画笔:penup()# 落下画笔:pendown()# 移动到:goto(100,100)```## 3、turtle方法的应用Turtle 方法广泛的应用在科学及数学方面,例如绘制曲线、轨迹、格子和三维图形,其他应用还包括:* 绘制动画* 教孩子编程* 装饰文本* 绘制复杂图形* 创建游戏§§ 1060## 4、总结Turtle 方法是一种基于 Python 的图形编程语言,它可以让我们轻松使用计算机编程绘制各种图形,应用广泛,是一种非常有用的绘图方法。
Python编程:第2课《海龟绘图》课件
turtle画布使用
Y
例如执行代码: turtle.forw1a.trudr(tl1e0画0布) 以像(素3)为t长ur度tle,画距布离中为的1坐称标为系一个单位长度。
2.turtle绘图模块的画布,就像一个平面直角坐标系,画布的每一个点的位置都可以用坐标表示,画布的中 注意心点点:就坐等标于系坐在标画系布的中中并心不点A会((1显000,示0,0)出) 。来X。 画笔往前走100个像素到达A点,并且把经过的这 100个像素改变为黑色,这样就相当于在绘图区 域绘制了一条线段
from 模块名 import *
from turtle import * forward(100)
turtle画布
turtle画布
turtle绘图模块的画布,就像一个平面直角坐标系,画布的每一个点 的位1.置tur都tle可画以布用以坐像(标素3表)为示t长u。r度tle,画距布离中为的1坐称标为系一个单位长度。
t.pensize(5)
t.pensize(5) # 改变画笔粗细t.circle(80)
# 内圆 t.pencolor('blue') t.circle(80)
t.penup() t.goto(0,-40) t.pendown()
t.penup() t.goto(0,-40) t.pendown()
# 抬起画笔 # 外圆 # 将画笔移t动.pe到nc(0ol,o-r4('0re)d') # 放下画笔 t.circle(120)
# t.hideturtle()
# 外圆 t.pencolor('red') t.circle(120)
import turtle turtle.pensize(1)
Python学习笔记0002 - 海龟画图 - 初画图形
绘制第一个海龟图形功能要求导入海龟模块、创建画笔、移动和旋转画笔等,绘制线段和正方形。
相关要点(1)导入海龟绘图模块(2)创建画笔(3)向前移动(4)画笔旋转实例代码运行结果知识说明海龟绘图(turtle)是Python内置的一个趣味模块。
使用这个模块通过代码创建视觉效果,也可以通过代码影响海龟的移动。
import turtle:将“海龟”导入程序。
Python中import语句的作用是,将Python中自带的或其他编程人员编写好的程序模块导入到自己的程序中使用。
Python一个优势是拥有庞大的模块库。
t=turtle.Pen():让海龟“拿起画笔”。
turtle.Pen()是海龟的画笔(P必须大写),在这里使用t代表海龟的画笔【t被称为“变量”,也可以去其他的名字代替turtle.Pen()】t.forward(100):让海龟移动100步(默认向右移动),其中t代替前面定义的turtle.Pen()。
运行结果的图中,黑色的小三角是小海龟。
三角后面的直线就是小海龟前进的轨迹。
知识说明在使用Python turtle画图时,画完图形窗口一下子消失,退出窗口的几个解决方法:第一种方法:在程序的最后面加上:turtle.exitonclick(),该语句让程序等待用户点击界面后才能够退出第二种方法:在程序的最后面加上:turtle.mainloop(),该语句必须放到最后一句,该句子后面的所有代码都无法执行第三种方法:在程序的最后面加上:turtle.done(),该语句的功能和mainloop(),差不多。
改变海龟的方向功能要求让海龟向右转弯,右转90°。
实例代码运行结果知识说明:right():表示向右转;left():表示向左转,括号里面填写旋转的角度。
right(90)表示向右旋转90°。
海龟画正方形功能要求继续添加代码,将“前进100步”和“向右转90°”重复3遍。
海龟制图知识点归纳总结
海龟制图知识点归纳总结海龟制图(Turtle Graphics)是一种基于图形绘制的编程语言,最初由美国计算机科学家西蒙斯·帕帕特雷在1969年设计。
海龟制图是一种直观的图形绘制方式,通过控制一个抽象的海龟在二维平面上移动并绘制图形,使得图形绘制过程更加直观和易于理解。
海龟制图不仅可以用来进行简单的图形绘制,还可以通过编程控制实现复杂的图形和动画效果。
以下是海龟制图的一些重要知识点的归纳总结。
1. 海龟制图基本命令海龟制图的基本命令包括前进(forward)、后退(backward)、转向(turn)、抬起画笔(penup)、放下画笔(pendown)等。
这些基本命令可以通过编程控制海龟在平面上移动并绘制图形。
2. 海龟制图坐标系海龟制图使用的坐标系和普通的平面直角坐标系类似,原点位于平面的中心点,水平方向为x轴,竖直方向为y轴。
不同的是,海龟制图将坐标系细分为四个象限,海龟的初始方向为向右(即x轴正方向),转向的角度为正值表示向左转,负值表示向右转。
3. 海龟制图画笔状态海龟制图的画笔有两种状态:抬起和放下。
抬起画笔时,海龟移动不会绘制图形;放下画笔时,海龟移动会绘制图形。
通过控制画笔状态,可以实现图形的绘制和擦除。
4. 海龟制图的颜色海龟制图可以控制画笔的颜色,包括绘制时的颜色和擦除时的颜色。
通过设置画笔的颜色,可以绘制出具有丰富色彩的图形效果。
5. 海龟制图的循环和条件控制海龟制图支持循环和条件控制语句,通过编程控制海龟的移动和绘制过程。
循环控制可以重复执行相同的语句块,条件控制可以根据条件判断执行不同的语句块,使得海龟制图的编程更加灵活和高效。
6. 海龟制图的函数和过程海龟制图支持函数和过程的定义和调用,通过封装重复使用的代码块,可以使得海龟制图的编程更加模块化和可维护。
7. 海龟制图的动画效果海龟制图可以通过控制海龟的移动和绘制过程,实现丰富多彩的动画效果。
通过使用循环控制和函数调用,可以实现复杂的动画效果。
Python趣味编程-turtle海龟绘图实用案例-绘制多种趣味图形-拓展练习
Python趣味编程-turtle海龟绘图实用案例绘制多种有趣图形拓展练习一、Turtle海龟绘图-绘制彩色螺旋线import turtlet = turtle.Turtle()#设置画笔速度和大小t.speed(10)t.pensize(2)#列表存放螺旋线的颜色colors = ["red", "yellow", 'purple', 'blue']for x in range(400):t.forward(2*x)t.color(colors[x%4])#取余得到0,1,2,3对应列表下标获取颜色t.left(91)二、Turtle海龟绘图-绘制中国结import turtlet = turtle.Turtle()#画一个中国结#设置画笔属性t.pensize(5)t.pencolor('red')#设置起始方向t.seth(-45)#开始第一个线条绘制for i in range(3):t.forward(102)t.circle(-6,180)t.forward(102)t.circle(6,180)#换方向,画另外一边t.forward(92)t.circle(-6,270)t.forward(92)#调整之后另一边for j in range(3):t.circle(6,180)t.forward(102) 彩色螺旋线最美中国结t.circle(-6,180)t.forward(102)#开始画中国结上方的图案t.forward(8)t.seth(135)for k in range(4):t.forward(20)t.left(90)#最上方正方形t.seth(135)t.fillcolor('red')t.begin_fill()t.fd(20)for h in range(4):t.fd(30)t.right(90)t.end_fill()#挂钩部分t.seth(90)t.fd(40)t.pensize(10)t.fd(10)t.pensize(5)t.seth(105)t.fd(30)t.circle(-8,240)t.circle(20,20)t.fd(5)t.circle(20,60)t.fd(25)#还原坐标t.pu()t.home()t.goto(2,-127)t.pd()#下方流苏长方形t.pensize(5)t.fillcolor('red')t.begin_fill()t.seth(0)for g in range(2):t.fd(15)t.right(90)t.fd(10)t.right(90)t.end_fill()#绘制流苏t.fd(15)t.pensize(2)for i in range(6):t.seth(-90)t.fd(60)t.pu()t.seth(90)t.fd(60)t.seth(180)t.fd(3)t.pd()#隐藏画笔t.hideturtle()三、Turtle海龟绘图-绘制爱心表白import turtlet= turtle.Turtle()t.speed(6)t.color('black', 'pink')# 画笔颜色t.pensize(8)#画笔粗细#画左边的小人t.circle(35)t.right(90)t.forward(100)t.left(90)t.forward(60)t.right(90)爱心表白t.forward(80)#后腿(0,-100)t.pu()t.goto(0,-100)t.pd()t.right(45)t.forward(100)#手部t.pu()t.home()#还原到初始位置t.pd()t.goto(0,-40)t.forward(100)t.left(45)t.forward(30)t.pu()t.goto(0,-60)t.pd()t.right(45)t.forward(100)t.right(45)t.forward(30)t.pu()t.home()#画爱心t.color('red', 'red')t.begin_fill()t.up()t.goto(150, -30)t.down()t.right(90)t.forward(30)t.left(90)t.forward(30)t.left(45)t.circle(10.6,180)t.left(180)t.circle(10.6,180)#隐藏画笔t.hideturtle()四、Turtle海龟绘图-绘制太阳花import turtlet = turtle.Turtle()#画一朵太阳花#设置画笔速度和颜色t.speed(10)t.color('red','yellow')t.begin_fill()#开始填充for i in range(50):t.forward(200)t.left(170)太阳花t.end_fill()#结束填充t.hideturtle()五、Turtle海龟绘图-绘制彩色正方形import turtlet = turtle.Turtle()#绘制彩色正方形for c in ['red', 'green', 'yellow', 'blue']: t.color(c)t.forward(75)t.left(90)#隐藏画笔t.hideturtle()六、Turtle海龟绘图-绘制快乐星球import turtlet = turtle.Turtle()#一个快乐星球t.color('blue','blue')t.begin_fill()t.circle(-40)t.end_fill()#一条银河t.pu()t.goto(-60,-20)t.right(40)t.pd()t.pencolor('yellow')t.pensize(3)t.circle(200,40)t.circle(4,160)t.right(15)t.circle(250,8)t.pu()t.circle(250,18)t.pd()t.circle(250,5)t.circle(4,160)#左下方星星t.pu()t.goto(-60,-60)t.pd()for i in range(5):t.fd(15)t.right(144)#右下方星星t.pu()t.goto(40,-80)t.pd()t.seth(-45) 彩色正方形快乐星球t.pensize(2)for i in range(5):t.fd(10)t.right(144) #画下方圆t.pu()t.goto(-40,-100) t.pd()t.circle(5)t.pu()t.goto(-10,-90) t.pd()t.circle(2)#画上方圆t.pu()t.goto(40,-10) t.pd()t.circle(10)t.pu()t.goto(65,8)t.pd()t.circle(6)t.pu()t.goto(-10,5)t.pd()t.circle(5)t.hideturtle()。
Python学习笔记0006 - 海龟画图 - 嵌套循环
绘制花瓣功能要求使用海龟模块,利用循环嵌套、图形填充颜色的基本方法,绘制花朵。
相关要点(1)设置画笔颜色和填充颜色(2)填充颜色(3)移动画笔(4)抬笔(5)落笔(6)for循环(7)循环嵌套实现分析花瓣可以简单的看成由两个圆弧组成,绘制花瓣时,可以通过绘制两个对称的圆弧来实现。
圆弧实际上由很多小的线段组成,绘制线段是不断地旋转画笔即可。
实例代码实现分析for x in range(90)::用for循环绘制圆弧。
每次循环时都会绘制一个1步的线段,并让画笔向右旋转1°。
t.forward(1):向前移动1步。
t.right(1):向右转动1°。
接下去画笔旋转90°,绘制同样的圆弧。
运行结果实例代码代码分析利用两个for循环绘制出两个圆弧,组成一个花瓣形状。
画圆弧的循环代码执行了两次,之前画圆弧的代码。
画相同的一个圆弧。
运行结果实例代码代码分析画圆弧的for循环。
程序执行过程:1)首先导入海龟绘图模块,将变量t设置为海龟的画笔。
2)执行“for y in range(2)”语句,开始执行for循环,此for循环执行2次后结束循环。
第一次循环时,for循环先访问range列表中第一个元素0,并将0存储在变量y中,变量y的值变为0。
3)执行for循环内部的语句(缩进部分)。
先执行“for x in range(90)”语句,此for循环执行90次后结束。
第1次循环时,访问range列表中的第一个元素0,并将0存储在变量x中,变量x的值变为0。
然后执行第二个for循环内的语句(下一个缩进部分),先执行“t.forward(1)”语句画笔向前移动1步,在执行“t.right(1)”语句,画笔向右转动1°。
然后进行第二个for循环(内循环),变量x的值变为1,画笔向前移动1步,向右转动1°。
这样一直循环,指导第90次循环,变量x的值变为89,画笔向前移动1步,向右移动1°,结束第二个for循环,画出一段弧线。
turtle绘图方法
turtle绘图方法海龟绘画(Turtle Graphics)是一种图形绘制方式,通过命令控制一个虚拟的海龟,在屏幕上绘制各种图形。
海龟绘画最初由美国计算机科学家西摩·帕波特(Seymour Papert)提出,用于教育孩子们编程思维和几何学的基本概念。
在Python中,我们可以使用turtle模块来实现海龟绘画。
turtle 模块提供了一系列简单易用的函数,可以直接操作海龟在屏幕上的绘制。
首先,我们需要导入turtle模块:```import turtle```在turtle模块中,海龟可以朝前(forward)、后退(backward)、左转(left)、右转(right)等方向移动。
例如,我们可以让海龟向前移动50个像素:``````我们还可以在绘制图形之前设置海龟的属性,例如颜色、线条宽度、运动速度等。
通过`turtle.color(`函数可以设置海龟的颜色,通过`turtle.width(`函数可以设置线条的宽度,通过`turtle.speed(`函数可以设置运动速度。
例如,我们可以设置海龟的颜色为红色,线条宽度为3,运动速度为2:``````接下来,我们可以使用turtle模块提供的各种函数来绘制不同形状的图形,如直线、矩形、圆等。
绘制直线:要绘制直线,我们可以使用`turtle.forward(`函数指定直线长度,例如以下代码可以绘制一条长度为100的直线:``````绘制矩形:要绘制矩形,我们可以使用`turtle.forward(`和`turtle.right(`函数,分别指定矩形的边长和角度,如以下代码可以绘制一个边长为100的正方形:```for i in range(4):```绘制圆:要绘制圆,我们可以使用`turtle.circle(`函数指定半径和角度,如以下代码可以绘制一个半径为50的圆:``````绘制多边形:要绘制多边形,我们可以使用`turtle.forward(`和`turtle.right(`函数,分别指定多边形的边长和角度,如以下代码可以绘制一个五边形:```for i in range(5):```上述例子只是海龟绘画的一小部分,实际上,我们可以使用turtle 模块绘制出更复杂的图形,如星星、花朵、螺旋等。
第二节课海龟画图
作业
隐龟命令
格式:hideturtle 缩写:ht 功能:把海龟隐藏起来。隐 龟时不影响海龟抬笔、落笔 绘图的结果。
显龟命令
格式:showturtle 缩写:st 功能:把隐藏起来的海龟再 显示出来。
在学了这么多命令后,若一行只 能输入一条命令,似乎会太慢了。 其实,logo语言的一系列命令也 可以连接起来写,但是一个命令和另 一个命令之间,必须有一个空格。记 住,每行命令的末尾同样要输入一个 回车,计算机才会执行这行命令。 例:fd 30 rt 90 fd 20 pu fd 20 pd
右转命令
格式:right 缩写:rt 角度 角度
功能:海龟向右转一个你所 设定的角度。
左转命令
格式:left 缩写:lt 角度 角度
功能:海龟向左转一Hale Waihona Puke 你所 设定的角度。抬笔命令
格式:penup 缩写:pu 功能:把海龟的画笔抬起来。 画笔抬起来以后,海龟移动 时不再画出线来。
落笔命令
格式:pendown 缩写:pd 功能:让海龟落下笔,恢复 海龟的画线功能。
神秘的图腾——Python海龟绘图
技术与应用tougao1@53APR 2018 NO.08趣学Python神秘的图腾——Python 海龟绘图王丽丽 上海市世界外国语中学相信很多信息技术教师对Logo语言中的小海龟画图都有所了解。
在Python语言中,也有一个内置图形化模块——turtle库,它是由Logo语言发展而来。
海龟绘图,直观而有趣,非常适合初期接触Python学习内容的学生。
本篇内容就从笔者学校的校本课程《阿派历险记》的第2课“神秘的图腾”中海龟绘图的故事开始:话说阿派在一次寻找古代文明的探险旅程中,失足掉落进时光隧道,穿越到已经失落的一处古代文明。
当他(她)缓过神来,矗立在眼前的是一座古村落,那就是让每一个探险家都魂牵梦绕的古代文明世界。
欣喜之余,他(她)赶忙奔去。
进口处有一扇大门,这扇传说了几百年的大门上有一个隐形的图腾,如能正确画出该图案,就能打开大门,通向另一个世界,一个神话的世界,那里有开天辟地的圣物,有操纵天地的伟力……由此,引出本课的学习内容——利用海龟模块绘制图腾。
这节课的教学设计遵循三个原则:①任务分解,由易到难,先绘制简单图腾,再绘制复杂图腾;②自主学习,摸索尝试,通过对比图腾的运行效果和代码,理解海龟模块中基础语句的作用;③模仿学习,不断创新,先模仿再创作,综合运用海龟模块设计复杂图腾。
● 绘制简单图腾,掌握海龟模块的基础语句教师先以范例“长方形图腾”为例,说明如何利用Python的海龟模块绘制简单图形,再给出课堂基本任务:绘制三角形、五角星和圆形等图腾样式。
1.范例学习教师让学生观察范例“长方形图腾.py”的代码和运行效果,猜一猜每一行代码的作用。
这样,将代码和运行效果进行对比,学生才能直观感受和理解每一行代码的作用,加深印象,激发兴趣。
:如表1,利用turtle库的运动方法,控制海龟(黑色箭头)移动。
“#”号是单行注释符号,一般单独一行或在同一行代码之后进行注释,方便读程序和修改。
这在项目合作时,显得尤为重要。
3-4常用海龟绘图公式
3-4常用海龟绘图公式(本讲于2002年12月底修订而成,内容为:重复语句REPEAT及重复的嵌套;变量和带参数的过程;常用的海龟绘图公式:正多边形、圆、圆弧、多角星、叶、正绕成花、反绕成花、空心星)在前几讲中,我们学习了LOGO语言常用基本命令和辅助命令。
上一讲,同学们利用LOGO语言的编辑器,设计了几个过程,通过保存、装载“.LGO”(LOGO语言源文件)的方式完成了对图形的设计。
这样,同学们就可以在命令状态下,通过调用过程名的方式,在屏幕上画出自己喜欢的LOGO图形了!A、理论部分我们先来复习上一讲中的一个实例:例3-4-1设计一个过程A,完成下图:分析:此图为正五边形,令边长为90,假设初始时海龟的母位定于左下角,所以有:FD 90目前,海龟位于左上角,要画正五边形的下一条边就必须让海龟向右转360/5度,所以命令为:RT 360/5。
这样画出一条边的命令为:FD 90 RT 360/5 ,因为正五边形有五个边,所以可定义如下过程:(过程名为A)TO ACSFD 90 RT 360/5FD 90 RT 360/5FD 90 RT 360/5FD 90 RT 360/5FD 90 RT 360/5HTEND在编辑状态保存后(源文件的文件名自定),在命令状态下可以通过A来实现程序结果。
思考:如果要画正15边形怎么写过程?当我们在LOGO语言要写比较多的相同语句时(比如例3-4-1中,有五行程序完全一致),我们可以用重复语句REPEAT,同时可以利用重重命令的嵌套来实现复杂绘图。
一、重复语句REPEAT及重复的嵌套1、重复语句REPEAT[命令]REPEAT 次数[重复动作][功能]属于其它类型,次数表示重复的次数,一般是一个整数,如果采用表达式其结果是小数时,LOGO将四舍五入取整,它将实现中括号内重复动作执行的次数。
中括号中的重复动作由LOGO语言命令组组成。
[举例]我们可以使用REPEAT语句来完成例3-4-1,程序如下:TO ACSREPEAT 5[FD 90 RT 360/5]HTEND思考:如果要用REPEA T语句画边长是90的正15边形怎么写过程?2、重复的嵌套例3-4-2建立一个过程,并用REPEA T语句实现下图:分析:我们先来画一个正三角形,每画完一个边(令边长为90)之后,海龟要向右转360/3度,这样的步骤要重复三次,所以程序为:REPEAT 3[FD 90 RT 360/3]考虑到完成一个正三角形之后,还要继续画下一个正三角形,所以在执行完REPEAT 3[FD 90 RT 360/3]后,海龟还应向右转360/3度,这样的步骤同样要重复三次,我们可以用REPEAT来实现:REPEAT 3[REPEAT 3[FD 90 RT 360/3] RT 360/3]所以完整的程序清单为:TO TX1DRAWREPEAT 3[REPEAT 3[FD 90 RT 360/3] RT 360/3]HTEND从例3-4-2中我们可以发现,REPEAT可以实现嵌套式的执行方式,利用这个特性我们可以设计出许多复杂的图形。
第12课-海龟绘图
导入模块
• 有两种常用的导入模块的方法。
方法一:import后面跟着模块名称
import turtle turtle.forward(100))
用法和区别: (1)如果想要有选择地导入某些属性和 方法,而又不想要其他的属性和方法,就 使用第一种方法。
(2)如果模块包含的属性和方法与你自 己的某个模块同名,那么必须使用第一种 方法来避免名字冲突。
turtle 模块
画布的坐标轴
• X轴的坐标从−400到400,而 Y轴的坐标也是从−400。
• 海龟的初始位置在窗口的绘图 区域的正中央(0,0),头朝X轴 的正方向。
turtle 模块
2. 移动海龟 • forward:让海龟向前移动 • backward:让海龟向后移 • left:让海龟左转 • right:让海龟右转
第12课 海龟绘图
什么是模块?
• 模块(module)就是一个Python文件,以.py结尾,包含了 Python 对象的定义和Python语句。
• 可以调用模块预先编写好的函数,实现特定的功能。 • 安装Python时就默认已经安装好的模块统称为“标准库”。 • 在使用模块之前,先要用 import 语句导入模块。 • Python语言的一大特点就是第三方模块功能丰富。 • 海龟绘图就是叫作turtle的模块。
import turtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100)
turtle 模块
import turtle turtle.circle(100,360)
电子学会python 海龟画图常考指令
电子学会python 海龟画图常考指令加载海龟import turtlet = turtle.Pen()运动命令forward(d) 向前移动d长度backward(d) 向后移动d长度right(d) 向右转动d度left(d) 向左转动d度goto(x,y) 移动到坐标为(x,y)的位置home() 位置回到(0,0),方向指向0度speed(speed)笔画绘制的速度[0,10]笔画控制命令:up() 笔画抬起,在移动的时候不会绘图,只是移动海龟down() 笔画落下,移动会绘图setheading(d) 改变海龟的朝向pensize(d) 改变笔画宽度pencolor('color') 改变笔画颜⾊reset() 清空窗⾊,重置turtleclear() 清空窗⾊,不会重置turtlecircle(半径,弧度,几边形)dot(直径,颜色)color(轮廓线颜色,画笔颜色)填充:begin_fill()fillcolor(‘填充颜色’)end_fill()输入输出write(‘字符串’,font=(字体,大小,粗细))turtle.numinput(‘标题’,‘提示信息’) ---->是浮点型turtle.textinput(‘标题’,‘提示信息’) ---->是字符串其他命令:done() 程序继续执⾊undo() 撤销上⾊次命令hideturtle() 隐藏海龟showturtle() 显⾊海龟setup(宽,高,x,y) 设置屏幕尺寸和位置screensize(宽,高) 改变屏幕的尺⾊。
Python 海龟绘图 113 题
Python 海龟绘图113 题Python 海龟绘图113 题——第1 题题目:绘制下面的图形解析:考察turtle 基本命令,绘制直线,使用forward,可缩写为fd。
答案:import turtle as tt.fd(100) # 或者使用 t.forward(100)t.done()Python 海龟绘图113 题——第2 题题目:绘制下面的图形解析:考察turtle 基本命令,前进,后退,转角度。
答案:import turtle as tt.fd(100)t.bk(100)t.rt(30)t.fd(100)Python 海龟绘图113 题——第3 题题目:绘制下面的图形解析:考察 turtle 绘制等边三角形。
等边三角形内角是 60 度,实际作图中转弯的是外角,180-60=120 度。
答案:不使用循环。
import turtle as tt.fd(100) t.rt(120) t.fd(100) t.rt(120) t.fd(100) t.rt(120) t.done() 使用循环。
import turtle as t for i in range(0,3): t.fd(100)t.rt(120)t.done()Python 海龟绘图113 题——第4 题题目:绘制下面的图形解析:考察 turtle 绘制正方形。
每次转过的角度都是 90 度。
答案:不使用循环。
import turtle as t t.fd(100) t.rt(90) t.fd(100) t.rt(90)t.fd(100)t.rt(90) t.fd(100) t.rt(90) 使用循环。
import turtle as t for i in range(0,4): t.fd(100)t.rt(90)Python 海龟绘图113 题——第5 题题目:绘制下面的图形解析:考察开始先有转角的正三角形画法。
答案:使用循环。
import turtle as tt.lt(30)for i in range(0,3):t.fd(100)t.lt(120)Python 海龟绘图113 题——第6 题题目:绘制下面的图形解析:使用home 命令回到原点,绘制计算不了长度的边。
Python学习笔记0008 - 海龟画图 - while循环
字符旋涡功能要求使用海龟绘图制作字符旋涡相关要点(1)设置画笔背景颜色(2)创建颜色列表(3)输入文章(4)输入对话框(5)while循环实例代码代码分析t.hideturtle():隐藏小海龟。
turtle.bgcolor('black'):将画笔背景设置为黑色colors=['red','yellow','blue','green','orange','purple','white','brown']:新建一个名为colors 的列表,其元素为各种颜色。
friend=[]:新建一个名为friend的空列表。
name=turtle.textinput('输入姓名','请输入姓名或这就按OK按钮结束输入'):新建一个名为name的变量,并将用户输入的信息赋值给变量。
turtle.textinput()语句会提供一个输入对话框。
对话框的表头为textinput()语句参数中的第一个参数“输入姓名”。
对话框中文本框名称为textinput()语句参数中的第二个参数“请输入姓名或这就按OK按钮结束输入”。
while循环部分。
让用户可以多次输入信息,并将输入的信息存储到列表friend中。
用户可以一直输入信息并按“OK”按钮。
如果想结束输入,直接点击“OK”按钮即可推迟对话框。
for循环,将列表friend中的元素(即用户输入的信息)绘制成一个旋涡图形。
程序执行过程1)执行第一行语句,导入海龟绘图模块;执行第二行语句,将变量t设置为海龟的画笔。
2)执行“t.hideturtle()”语句隐藏小海龟;执行“turtle.bgcolor('black')”语句将画布背景设置为黑色。
3)执行“colors=['red','yellow','blue','green','orange','purple','white','brown']”语句,新建一个名为colors的列表,其元素为各种颜色。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、建立海龟画图项目
项目向导会自动为项目生成一个可以运行的demo程序。直接在该程序基础上 进行修改即可。
一、建立海龟画图项目
注意:
打开已有项目时,要打开项目文件(.dev
文件)
二、基本命令
海龟作图(Turtle Graphics)的基本思想是这样的:
屏幕上有一只小海龟,我们可以给它下命令在屏幕上 爬行 海龟爬行的时候,会在屏幕上留下痕迹,从而产生图 形。
3.4 多重循环绘图
利用多重循环,我们可以在圆和多边形的基础
上绘制出更复杂的图案
for (j=1;j<=6;j++) { for(i=1;i<=360;i++) { forward(2); rightTurn(1); } rightTurn(60); }
3.4 多重循环绘图
for (j=1;j<=6;j++) { for(i=1;i<=6;i++) { forward(100); rightTurn(60); } rightTurn(60); }
home();
bk(x); backward(x);
void cs(); void clear();
向后爬行x个像素
lt(degree); leftTurn(degree);
void clearScreen();
海龟向左转degree度 (degree可以为小数)
海龟返回起始点,同时清 除屏幕上的所有痕迹
3.3 圆与多边形
用两个60度的圆弧组成一片叶子:
for (i=1;i<=60;i++){ forward(2); rightTurn(1); } rightTurn(120); for (i=1;i<=60;i++){ forward(2); rightTurn(1); } //让海龟转回起始方向 rightTurn(120);
二、基本命令
程序初始化和控制相关:
initWorld(width,height);
设置绘图窗口大小为width*height
setSpeed(x);
设置海龟的爬行速度,1为最慢,1000为最快
设置是否显示动画。0为显示,1为不显示。缺省为显示动画 程序等待用户按任意键 设置海龟爬到屏幕边缘时是否自动回绕。0为自动回绕,1为不自动回 绕。缺省为自动回绕
2.1.3 复合图形
思考:想绘制如下的图形,该怎么办?
三、循环绘图
使用循环和多重循环,可以绘制出更多
美丽的图案
3.1 美丽花样
forward(100); rightTurn(90); forward(100); rightTurn(90); forward(50); rightTurn(90); forward(50); rightTurn(90); forward(100); rightTurn(90); forward(25); rightTurn(90); forward(25); rightTurn(90); forward(50);
rightTurn(60);
四、函数
在上一章绘制的过程中,我们可以发现,
复杂图形的绘制可以分解为若干个的简单 图形的绘制。
很多简单图形是类似的
如果能够将简单图形的绘制步骤用一条语
句代替,我们的绘制过程将更简洁
在C语言里,我们可以用函数来实现这一点
4.1 自定义函数
void arcl(double side, double degree) { int i; for (i=1;i<=degree;i++) { forward(side); leftTurn(1); } } void arcr(double side, double degree) { int i; for (i=1;i<=degree;i++) { forward(side); rightTurn(1); } } int main() { …. }
C程序设计基础 ——海龟画图
林大 经管学院 瞿华
海龟画图
一. 建立海龟画图项目 二. 基本命令
三. 循环与基本图形
一、建立海龟画图项目
文件->新建->项目…
一、建立海龟画图项目
选择“C语言程序设计”选项卡中的“C语言-海龟作图” 注意填写项目名称
一、建立海龟画图项目
可使用该按钮创建新目录
选择项目文件(.dev文件)的保存位置 最好将每个项目的文件放在单独的目录中
4.2 重复曲线
void polyspi(int side,int angle,int inc) { …… } int main() { …… polyspi(0,95,5); …… }
4.2 重复曲线
void polyspi(int side,int angle,int inc) { …… } int main() { …… polyspi(0,90,5); …… }
3.1 美丽花样
for(i=1;i<=4;i++) { forward(100); rightTurn(90); forward(100); rightTurn(90); forward(50); rightTurn(90); forward(50); rightTurn(90); forward(100); rightTurn(90); forward(25); rightTurn(90); forward(25); rightTurn(90); forward(50); }
setImmediate(x);
pause();
setRewind(x);
二、基本命令
海龟运动相关:
rt(double);
fd(x);
forward(x);
rightTurn(degree);
海龟向右转degree度 海龟返回起始点(屏幕正 中央)
向前爬行x个像素(x可以 为小数)
3.3 圆与正多边形
我们知道,任意凸多边形的内角和等于(边数-2)*180
所以可以这样来画任意的n正多边形(边长为x):
计算每个角的度数angle=(n-2)*180/n 循环n次,每次:
海龟前进x 海龟右转180-angle度 angle=(n-2)*180.0/n; for(i=1;i<=n;i++) { forward(x); rightTurn(180-angle); }
循环4次
3.1 美丽花样
for(;;) { forward(100); rightTurn(90); forward(100); rightTurn(90); forward(50); rightTurn(90); forward(50); rightTurn(90); forward(100); rightTurn(90); forward(25); rightTurn(90); forward(25); rightTurn(90); forward(50);
rightTurn(10); forward(50);
}
错开一点距离和角度,不断重复
3.2 多边形
我们知道,任意多边形都可以由一系列连续下面两条语句的组合来绘出:
forwar(side);
rightTurn(angle);
因此,我们可以准备下面这段程序,只要改变参数变量n,side和angle的 值,就能绘制出多种不同多变形来 for(i=1;i<=n;i++) { forward(side); rightTurn(angle); }
二、基本命令
画笔相关:
void penUp();
void pu();
抬笔,此时海龟爬行不留痕迹
void pd();
void penDown();
落笔,此时海龟爬行留痕迹 设置画笔的颜色
void setPenColor(color_t color);
常用颜色常量: BLACK 黑色 BLUE 蓝色 GREEN 绿色 CYAN 青色 RED 红色 MAGENTA 紫色 BROWN 棕色 LIGHTGRAY 浅灰色 DARKGRAY 深灰色 LIGHTBLUE 浅蓝色 LIGHTGREEN 浅绿色 LIGHTCYAN 浅青色 LIGHTRED 浅红色 LIGHTMAGENTA 浅紫色 YELLOW 黄色 WHITE 白色
3.3 圆与多边形
正五边形,边长为100
正六边形,边长为100
正八边形,边长为100
3.3 圆与多边形
当n越来越大时,我们会发现多边形越来越接近圆形
我们可以用正360边型来模拟圆形,也可以用同样的方 法来绘制圆弧
side=3; for(i=1;i<=360;i++) { forward(side); rightTurn(1); }
我们在主程序前 面定义两个绘制 弧线的函数arcr 和arcl
4.1 自定义函数
有了这两个自定义函数,我们 就可以在主函数中调用它们:
arcr(2,90); arcl(2,90);
4.1 自定义函数
利用这些函数,我们可以绘制出更复杂的图形:
void arcl(double side, double degree) {……} void arcr(double side, double degree) {……} int main() { …… for (i=1;i<=9;i++) { arcr(1,360); rightTurn(40); } …… }