turtle画圆三步法
步骤:
1、导入turtle库
2、确定半径,画圆(circle )
3、结束(done )
turtle 库中提供一个直接画圆的函数 turtle.circle(半径)#半径单位为像素 例: turtle.circle ( 100 ) 表示绘制一个半径为100像素长度的圆形
尝试如下代码: # 后注释信息不需要输入
import turtle #导入turtle库
turtle.circle(100) #绘制一个半径为100像素的圆
turtle.done() #停止画笔绘画,不关闭窗口
绘画因色彩而绚丽 如何让小海龟变化它的颜色呢?
turtle.color("颜色名”)#给画笔填充颜色,颜色名为英 文 例: turtle.color ( "red") turtle.color ( "blue") 注意:顔色代码应添加在绘画代码之前
import turtle #导入turtle库turtle.color("red") #改变颜色为红色
turtle.circle(100) #绘制一个半径为100像素的圆
turtle.done() #停止画笔绘画,不关闭窗口
如图所示:画出图案 任务分析: 1、三个圆形 2、三种颜色 3、大小不同
import turtle #导入turtle库
turtle.color("red") #设置画笔的颜色,颜色为红色
turtle.circle(40) #circle圆,括号内参数为圆的半径大小
turtle.color("blue")
turtle.circle(70)
turtle.color("black")
turtle.circle(100)
turtle.done() #绘画结束后,保留屏幕
1、 turtle库的导入 答:import turtle
2、 画笔颜色命令 答:turtle.color(),括号内添加颜色
3、 画圆的命令? 答 : turtle.circle(),括号内加参数,值为圆的半径
4、 停止画笔绘制 答 : turtle.done(),不关闭窗口
新色的数字“8”
数字 ”8“由上下两部分组成 试想一下,我们在先在上方画一个小 下方画一个大 是否就组成了一个完整的 ”8“了呢?
turtle.circle(radius)
radius:圆的半径,为正数时,圆心在海龟的左侧;为负数时,圆心在海龟的右侧
进阶:彩色的数字“8”
import turtle
#画第一个色彩为蓝色,半径为80的圆
turtle.color("blue")
turtle.circle(80)
#画第二个色彩为红色半径为100的园
turtle.color("red")
turtle.circle(-100)
turtle.done()
四色的圆
任务分析: 1、四个圆形。 2、四种不同的颜色 3、每条边的弧度都是90°。
turtle.circle(radius,extent=None)
radius :半径
extent :角度,决定哪部分圆圏被绘制,不提供extent的值表示画完整的圆。turtle.circle(100,90) #絵制一个半径为100 ,角度为90度的圆形turtle.circle(100,180) #绘制一个半径为100 ,角度为180度的圆形turtle.circle(100,270) #绘制一个半径为100 ,角度为270度的圆形
import turtle
t=turtle.Turtle()
t.circle(50,180)#沿逆时针方向移动一周
#t.reset();#清除画布内容(还原画笔状态)t.circle(-50,180)#沿顺时针方向移动一周
螺旋小蜗牛
螺旋状的小贝壳
螺旋线 数学中有各式各样富含诗意的蛭,螺旋线就是其中比较特别的一类。螺旋线这个名词来源于希 腊文,它的原意是"旋卷”或"缠卷”° 例如,平面螺旋便是以一个固定点开始向外逐 圏旋绕而形成的曲线。
如何用turtle来绘画这种螺旋线呢?
它是由一个一个的半圆弧线连接构成的:
每层的小(半)圆直径是外层大(半)圆的半
径
import turtle
turtle.circle(30,180) turtle.circle(60,180)
turtle. circle (90,180)
turtle. circle (120,180)
turtle.done( )
试一下: 给每层螺旋线加上不 同的颜色让它变得色 彩斑斓。
1、 circle (半径)的取值 答:为正数时,圆心在海龟的左侧; 为负数时圆心在海龟的右侧。顺看前进的的方向画圆。
2、 如何绘制不同弧度的圆? 答 : turtle.circle(radius, extent=None) , extent的值0-360
3、 画圆的命令? 答 : turtle.circle() ,括号内加参数,值为圆的半径
太极阴阳鱼图
广为人知的太极图,其形状如阴阳两鱼互相纠在一起,因而被称为“ 阴阳鱼太极图 ”。 . 白鱼表示为阳 ; 黑鱼表示为阴。 白鱼中间一黑眼睛,黑鱼之中一白眼睛,表示阳中有阴f阴中有阳之理。
阴阳鱼存在广泛,在孔庙大成殿梁柱、楼观台、道士的道袍、算命先生的卦摊、中医、 气功、武术及中国传统文化的书刊封面、会徽会标、韩国国旗、韩国空军军微、蒙古国 国旗、蒙古国军微、安哥拉空军军徽、玻尔荣誉勋章等等都有体现。
如何用turtle来绘制一张 阴阳太极图
空间坐标
我们的太极图就是由一个一个的圆组合而成的
大圆A的半径:100;
圆B1和B2的半径:50;
圆C1和C2的半径:25
在D(0,0)画第一个大圆A:circle(100)在E(0,,25)画圆c1:circle(25 )在F(0,125)画圆C2:circle(25 )
turtle .circle (半径,角度) 半径: •为正数时,圆心在海龟的左侧; •为负数时,圆心在海龟的右侧。顺着当前方向画圆。 角度: •决定哪部分圆圏被绘制
#绘制第一个半圆
turtle.circle(100 , 180)#绘制第二个半圆
#此时圆心在小海龟的右边turtle.circle(-100 , 180)
现在我们的阴阳鱼太极图 是不是只差两只眼睛了 ? 想一想,眼睛应该怎么添加进去呢?
海龟的移动
我们的小海龟是在画布上一直爬, 一直爬, 一直爬, 爬行产生的轨迹就是我们画笔的动作。
把小海龟放在指定的位置 让它开始爬行 完成之后,再把它拿起来 放在下一个位置
认识goto ( X坐标,y坐标)命令 让海龟沿着绝对坐标进行运动,从当前的坐标移动到指定的坐标 E坐标(0,25 ) turtle.goto(0,15) F坐标(0 , 125 ) turtle.goto(0,125) 控制海龟爬行到指定点的位置
抬笔与落笔
turtle.penup( ) #抬起画笔,不再画线
turtle. pendown( ) #落下画笔,继续画线
让海龟在移动到指定位置的过程中,不留下痕迹
turtle.penup()
turtle.goto(0,25)
turtle.pendown()
turtle.circle(20)
turtle.penup()
turtle.goto(0,125)
turtle.pendown()
turtle.circle(20)
我们的阴阳鱼太极图就画好啦! 是不是还想给它填充颜色,变得 更加完美呢?
1、 运动到指定的坐标 答:turtle.goto ( x坐标,y坐标) 2、 画笔的控制命令 答:turtle.penup() #抬起画笔,不再画线 turtle. pendown() #落下画笔,继续画线
太极图
import turtle #导入turtle的库太极图
turtle.circle(100) #绘制外层大圆,半径为100
turtle.circle(50,180) #圆心在左侧,逆时针画半圆
turtle.circle(-50,180) #圆心在右侧,顺时针画半圆
turtle.penup() #抬笔,移动时不会留下痕迹
turtle.goto(0,25) #移动到坐标(0,25)的位置
turtle.pendown() #落笔,准备绘制
turtle.circle(20) #绘制半径为20的圆
turtle.penup()
turtle.goto(0,125)
turtle.pendown()
turtle.circle(20)
turtle.done() #结束
上色的太极圆
import turtle #导包上色太极图
#绘制右半边的黑色大半圆
turtle.color("black","black") #画笔颜色:黑色;填充颜色:黑色
turtle.begin_fill()#确定填充开始点
turtle.circle(50,180)
turtle.circle(-50,180)
turtle.circle(-100,180)
turtle.end_fill() #确定填充结束点,开始填充
#绘制左半边的大圆
turtle.circle(-100,180)
#绘制第一个小圆
turtle.penup()#抬笔,移动时不会留下痕迹
turtle.goto(0,25) #移动到坐标(0,25)的位置
turtle.pendown()#落笔,准备绘制
turtle.color("black","black") #设置画笔颜色
turtle.begin_fill()
turtle.circle(20) #绘制半径为20的圆
turtle.end_fill()
#绘制第二个小圆
turtle.penup()#抬笔,移动时不会留下痕迹
turtle.goto(0,125)#移动到指定坐标
turtle.pendown() #落笔,准备绘制
#设置画笔颜色为黑色,填充色为白色
turtle.color("black","white")
turtle.begin_fill()
turtle.circle(20) #绘制半径为20的圆
turtle.end_fill()
turtle.down()
铜钱古币
铜钱 ,古代铜质辅币,指秦汉以后的各类 方孔圆钱(应天圆地方之说,古代人们认为 天是圆的,地是方的)。 秦始皇统一中国后, 也统一了货币。废除刀、布、贝等钱币,以"半两”(重如其文)做为货币。 方孔圆钱的铸期一直延伸到清末民国初年。
中国古代钱币还经常以皇帝年号来命名, 由五胡十六国的成汉国率先铸造,"年号钱”成为定制是自宋代开始。 元以后,历代所铸的钱,基本上都是以年号命名的。
通宝 是中国唐以后钱币的一种名称 开元通宝重二铢四垒,十枚重一两。 从此,铜钱不再是重如其文,以重量来铸名了, 改称" 通宝“流通。 钱币也真正开始成为 货币符号,不再以货币自身价值来交换了。
如何用turtle来 造钱
思考一下:
1、铜钱是由哪些部分构成的?
2、如何才能让小海龟爬出铜钱的图案呢 ?
流程:
1、penup()抬起画笔
2、goto()控制小海龟爬行到指定的位置A
3、pendown()落下画笔
4、goto()控制海龟开始爬行,顺序
A → B→C→ D→ E→A
import turtleturtle.color("black","orange")
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()turtle.penup()
turtle.goto(0,50)
turtle.pendown()turtle.color("black","white")
turtle.begin_fill()
turtle.goto(50,50)
turtle.goto(50,150)
turtle.goto(-50,150)
turtle.goto(-50,50)
turtle.goto(0,50)
turtle.end_fill()
turtle.done()
turtle.color ( pencolor , fillcolor ) color ()函数中包含两个参数,没有参数则返回当前画笔的颜色和填充的颜色 • pencolor :画笔颜色 • fillcolor :填充颜色
填充颜色还需要配合开始填充和结束填充一起使用 turtle.color ( "red", "orange") #画笔颜色:红色;填充颜色:橘色 turtle.begin_fill() #将当前位置作为起点,并告知程序开始启动填充图形 turtle.circle (100) turtle.end_fill () #将当前位置作为终点,并告知程序关闭填充图形
1、绘制正方形的两种方法 答: ① goto () 定点坐标爬行 ② 空间方向 turtle.forward(距离) #前进 turtle. back(距离)# 后退 turtle. leftt(角度)# 右转 turtle. right(角度) # 左转
2、颜色填充命令 答: turtle.color ( “画笔颜色”,"填充颜色”) turtle.begin_fill( ) #将当前位置作为起点,并告知程序开始启动填充图形 turtle.circle (100) turtle. end_fill ( ) #将当前位置作为重点,并告知程序关闭填充图形
import turtleturtle.color("orange","orange") #设置画笔颜色:橘色 ;填充色:橘色
turtle.begin_fill() #将当前位置作为起点,并告知程序开始启动填充图形
turtle.circle (100) #半径100的圆
turtle.end_fill () #将当前位置作为终点,并告知程序关闭填充图形turtle.penup() #抬笔
turtle.goto(0,50) #移动到该坐标
turtle.pendown() #落笔
turtle.color("white","white") #设置画笔颜色:白色; 填充色:白色
turtle.begin_fill() #将当前位置作为起点,并告知程序开始启动填充图形
turtle.forward(50) #前进50像素
turtle.left(90) #左转 90度
turtle.forward(100) #前进100像素
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(50)
turtle.end_fill () #将当前位置作为终点,并告知程序关闭填充图形
turtle.done()