当前位置: 首页 > news >正文

Python—turtle绘图库使用方法

课程来源:

MOOC网《python语言程序设计》嵩天。
https://www.icourse163.org/learn/BIT-268001?tid=1474324443#/learn/announce
第二周:python基本图形绘制

1.tutle绘图库介绍

turtle绘图库是 Python 标准库之一,用户能利用turtle绘图库编写代码来绘制各种图形。

基本原理

  • 绘图窗口:turtle提供了一个绘图窗口,就像是一张画布。用户通过编写代码控制一只虚拟的 “海龟” 在这个画布上移动,“海龟” 经过的轨迹就会形成绘制的图形。
  • 指令控制:用户通过调用turtle库中的函数来控制 “海龟” 的行为。

案例1:绘制正方形

mport turtle# 创建一个turtle对象
my_turtle = turtle.Turtle()# 绘制一个正方形
for _ in range(4):my_turtle.forward(100)my_turtle.left(90)# 保持绘图窗口显示
turtle.done()

在这里插入图片描述

案例2:绘制蟒蛇

# 导入turtle绘图库,import关键字用于引入模块import turtle  # 设置绘图窗口的大小和位置,参数依次为:窗口宽度、窗口高度、窗口左上角x坐标、窗口左上角y坐标
turtle.setup(650, 350, 200, 200)  # 抬起画笔,之后移动画笔时不会绘制线条
turtle.penup()  # 画笔前进(forward的缩写)指定的距离,负数表示向当前方向的反方向移动
turtle.fd(-250)  # 放下画笔,之后移动画笔时会绘制线条
turtle.pendown()  # 设置画笔的宽度
turtle.pensize(25)  # 设置画笔的颜色为紫色
turtle.pencolor("purple")  # 设置海龟(画笔)的朝向,参数为角度,这里设置为 -40度
turtle.seth(-40)  # 使用for循环,循环4次for i in range(4):  # 绘制半径为40,圆心角为80度的圆弧,方向为逆时针turtle.circle(40, 80)  # 绘制半径为 -40(负号表示圆心在画笔左侧),圆心角为80度的圆弧,方向为顺时针turtle.circle(-40, 80)  # 绘制半径为40,圆心角为80/2(即40度)的圆弧,方向为逆时针
turtle.circle(40, 80 / 2)  # 画笔前进40个单位长度
turtle.fd(40)  # 绘制半径为16,圆心角为180度的圆弧,方向为逆时针
turtle.circle(16, 180)  # 画笔前进40 * 2/3个单位长度
turtle.fd(40 * 2 / 3)  # 保持绘图窗口显示,防止程序结束后窗口立即关闭
turtle.done()  

在这里插入图片描述

2.使用方法

(1)turtle 绘图窗体布局

  • 概念:turtle的画布空间,最小单位是像素
    在这里插入图片描述
  • 设置方法:通过turtle.setup()函数实现。它可以指定绘图窗口的宽度、高度,以及窗口在屏幕上的起始位置。
import turtle
# 设置窗口宽度为800像素,高度为600像素,窗口左上角在屏幕(100, 100)位置
turtle.setup(800, 600, 100, 100) 

在这里插入图片描述
在这里插入图片描述

(2)turtle空间坐标体系

- 绝对坐标:以绘图窗口中心为原点 (0, 0),水平向右为 x 轴正方向,垂直向上为 y 轴正方向。使用turtle.goto(x, y)函数可将画笔移动到指定的绝对坐标位置。

import turtle
turtle.goto(100, 100)  # 画笔移动到坐标(100, 100)处

在这里插入图片描述
在这里插入图片描述
- 相对坐标:基于当前画笔位置来确定新的位置。例如,turtle.fd(distance)函数使画笔沿当前方向前进指定距离,turtle.bk(distance)则沿当前方向后退指定距离;turtle.right(angle)和turtle.left(angle)分别使画笔顺时针、逆时针旋转指定角度。

import turtle
turtle.fd(100)  # 画笔沿当前方向前进100像素
turtle.left(90)  # 画笔逆时针旋转90度

在这里插入图片描述
在这里插入图片描述

(3)turtle角度坐标体系

- 绝对角度:以水平向右方向为 0 度,逆时针方向为角度增加方向。使用turtle.seth(angle)函数可设置画笔的绝对朝向角度。

import turtle
turtle.seth(45)  # 将画笔方向设置为与水平向右方向成45度角

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
- 相对角度:通过left(angle)和right(angle)函数来改变画笔方向,它们基于当前画笔方向进行旋转。如left(30)表示画笔在当前方向基础上逆时针旋转 30 度。
在这里插入图片描述
在这里插入图片描述

(4)RGB色彩体系

  • 概念:RGB指红蓝绿三个通道的颜色组合。RGB色取值范围0-255整数或0-1小数。
  • 设置方法:
    ①直接使用颜色名称:如"red"、“green”、"blue"等常见颜色名称。
import turtle
turtle.pencolor("red")  # 设置画笔颜色为红色

②RGB 整数值表示:使用(r, g, b)元组,其中 r、g、b 分别是 0 - 255 之间的整数,表示红、绿、蓝三种颜色的强度。

import turtle
turtle.pencolor((128, 0, 128))  # 设置画笔颜色为紫色

③ RGB 小数值表示:使用(r, g, b)元组,r、g、b 取值范围是 0.0 - 1.0,同样表示红、绿、蓝三种颜色的强度。

import turtle
turtle.pencolor((0.5, 0.5, 0.5))  # 设置画笔颜色为灰色

在这里插入图片描述
在这里插入图片描述

3.语法元素分析(待补充)

相关文章:

  • flutter 的lottie执行一次动画后关闭
  • 体育赛事直播平台的数据架构:从实时统计到深度洞察
  • MAC-苹果电脑专业卸载工具AppCleaner
  • 用MATLAB打造智能温度监测系统:从实时绘图到预测分析
  • 「pandas 与 numpy」数据分析与处理全流程【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • 从0到1构建高并发秒杀系统:实战 RocketMQ 异步削峰与Redis预减库存
  • Spring MVC 入门案例:从代码到原理的深度剖析
  • Kafka问题排查笔记
  • 技术专栏|LLaMA家族——模型架构
  • WordToCard制作高考志愿填报攻略小卡片【豆包版】
  • Linux 与 Windows 系统挖矿程序清理
  • React 基础状态管理方案
  • 多节点并行处理架构
  • pyhton基础【6】容器介绍一
  • Kafka 架构原理解析
  • Leetcode 3299. 连续子序列的和
  • excel中自定义公式
  • 黑马点评【缓存】
  • AI中的Prompt
  • 谷歌云BigQuery分析
  • 开网站赚钱吗/海洋网络推广效果
  • 公司的网站建设 交给谁做更好些/千锋教育学费
  • 办公室装修大概多少钱一平方/aso优化app推广
  • 网站做乘法表/谷歌seo外链平台
  • 网站中弹出广告怎么做的/百度竞价推广点击软件奔奔
  • 代做ppt网站好/百度seo排名培训优化