ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第24期-画图形

2022-01-06 17:35:54  阅读:356  来源: 互联网

标签:24 turtle 颜色 50 画图 半径 图形 circle


1 问题描述

按照要求使用turtle库画出图形
画半径为50的圆;
画长方形;
画边长为100的红色五角星。

2 解题思路

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

3 解题方法

画半径为50的圆

import turtle
turtle.circle(50)
turtle.done()

第1行: 引入turtle画图库
第2行: turtle.circle()便是turtle库的画圆指令,括号内填的是半径
第2行: turtle.done()是turtle库的运行指令,表示开始画图

代码运行结果为:
image.png

这里用到了turtle.circle函数,简单讲解下这个函数:
turtle.circle()函数
语法:
turtle.circle(radius, extent=None, steps=None)
参数说明:
radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

画长方形

import turtle
i = 1
while i <= 4:
    if i % 2 == 1:
        turtle.fd(100)
    else:
        turtle.fd(50)
    turtle.left(90)
    i += 1
turtle.done()

第1行: 引入turtle画图库
第2行: 定义i变量并赋值为1,作为画图时转弯以及前进的次数
第3行: 使用while循环,当前进次数小于或等于四的时候,继续循环
第4-7行: 当次数是奇数时,前进100个单位,当次数是偶数时,前进50个单位
第8行: 每当一条线画完的时候,前进方向都向左转90度
第9行: 记录转弯及前进的次数
第9行: 开始画图

代码运行结果为:
image.png

画边长为100的红色五角星

 
import turtle
i = 1
turtle.fillcolor('red')
turtle.color('red')
turtle.begin_fill()
while i <= 5:
    turtle.fd(100)
    turtle.right(144)
    i += 1
turtle.end_fill()
turtle.done()

第1行: 引入turtle画图库
第2行: 定义i变量并赋值为1,作为画图时转弯以及前进的次数
第3行: 定义画图的填充颜色为红色(指闭环图形内部的颜色)
第4行: 定义画图的画笔颜色为红色(指任意图形边长的颜色)
第5行: 填充颜色开始
第6行: 使用while循环,当前进次数小于或等于5的时候,继续循环
第7-9行: 每次循环前进100个单位,每当一条线画完的时候,前进方向都向右转144度,并记录记录转弯及前进的次数
第10行: 给从turtle.begin_fill()到turtle.end_fill()内部的代码期间画的图形填充颜色
第11行: 开始画图

代码运行结果为:
image.png

全部放到一起

import turtle  # 引入一个绘图库
# 画半径为50的圆
turtle.circle(50)
# 画长方形
turtle.penup()
turtle.goto(-100, 0)
turtle.right(180)
turtle.pendown()
i = 1
while i <= 4:
    if i % 2 == 1:
        turtle.fd(100)
    else:
        turtle.fd(50)
    turtle.left(90)
    i += 1
turtle.left(180)
# 画边长为100的红色五角星
turtle.penup()
turtle.goto(100, 0)
turtle.pendown()
i = 1
turtle.fillcolor('red')
turtle.color('red')
turtle.begin_fill()
while i <= 5:
    turtle.fd(100)
    turtle.right(144)
    i += 1
turtle.end_fill()
turtle.done()

代码运行结果为:
image.png

这里用到了turtle库内的一些方法,简单讲解下这些方法:
turtle.circle(半径)
设置填充颜色turtle.fillcolor(颜色) 开始填充turtle.begin_fill() 结束填充turtle.end_fill()
抬起笔turtle.up() 放下笔turtle.down()
向左转turtle.left(角度) 向右转turtle.right(角度)
向前走turtle.forward(距离)/turtle.fd(距离) 向后走turtle.back(距离)/turtle.bk(距离)

移动到指定位置tutle.goto(x坐标, y坐标)/ turtle.setx(x坐标) / turtle.sety(y坐标) 回到开始位置turtle.home()
设置笔的颜色turtle.pencolor(颜色)

 

标签:24,turtle,颜色,50,画图,半径,图形,circle
来源: https://www.cnblogs.com/lg03/p/15772078.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有