第十五课,海龟画图:抬笔与落笔函数、画曲线函数

一,turtle.penup()和turtle.pendown():抬起与落下画笔函数

当使用上节课学习的这个turtle.forward():画笔前进函数时,画笔会朝着当前方向在画布上留下一条指定(像素)长度的直线,但你可能发现,这画笔看起来似乎和画布黏在一起一样,无论怎么画,痕迹都是连在一起的。

怎么才能抬起画笔、移动画笔到另一个位置画画呢?使用turtle.penup()和turtle.pendown()函数分别可以实现抬起画笔和落下画笔的操作

通过一个小练习来理解他们的作用——

*小练习,先朝正东方向画一条长为100像素的直线,然后在距离这条直线100像素的右边,再绘制一条长为100像素的直线


二,turtle.circle():画圆/曲线函数

turtle.forward()函数只能帮助我们朝不同的方向画直线,在艺术界只有直线的画是糟糕透顶的,只有直线和曲线一起结合才能绘制出更加优美的画

turtle.circle()这个函数能够帮助我们绘制曲线,而圆是一种很特殊的曲线,自然也能由它完成

turtle.circle()函数由两个参数控制,所以说它比较有难度,但聪明如你,不可能学不会的!

(一)第一个参数

turtle.circle()的第一个参数用来控制圆的半径,你只需要传入一个代表半径的整数,它就能帮你按照这个半径画出一个圆,当然了,和前面的直线相同,这里的半径也是以像素为单位的

另外,别忘记了画笔是有朝向的,如果你的半径是正数,turtle.circle()函数会帮你画一个往左边的圆,如果为负数则往画笔右边画圆,下面两段代码分别进行演示

*小练习,画出如下图所示的”镜中圆”:

参考代码——

(二)第二个参数

首先需要理解一个数学上的几何原理:任何曲线都可以拆解成完整圆的其中一部分

turtle.circle()函数的第一个参数帮助我们画圆,那么如果我们不把圆画完整,曲线也就产生了,turtle.circle()函数的第二个参数就是来帮助我们画“不完整的圆”

数学上学过,圆是360度的曲线,如果我只要半个圆,就可以指定第二个参数为180

*小练习,动动你的小脑筋,画出下面这个半月

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/673061.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动微分技术在 AI for science 中的应用

本文简记我在学习自动微分相关技术时遇到的知识点。 反向传播和自动微分 以 NN 为代表的深度学习技术展现出了强大的参数拟合能力,人们通过堆叠固定的 layer 就能轻松设计出满足要求的参数拟合器。 例如,大部分图神经网络均基于消息传递的架构。在推理…

政安晨【零基础玩转各类开源AI项目】:解析开源项目的论文:Physical Non-inertial Poser (PNP)

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 本文解析的原始论文为:https://arxiv.org/…

有容微ASW3642 HDMI或者DP双向切换器,二进一出,一进二出支持4K60HZ分辨率

ASW3642描述: ASW3642 是一款 12 通道 1:2 或 2:1 双向多路复 用器/ 多路解复用器。 ASW3642 可由 2.6V 至 4.5V 的电源供电,适用于电池供电的应用。该器 件的导通电阻(R ON )较低并且 I/O 电容较小, 能…

Nginx配置详细解释:(1)全局配置

自启动安装nginx:前面博客有解释 systemctl stop firewalld setenforce 0 [rootNode1 ~]#:mkdir /data [rootNode1 ~]#:cd /data [rootNode1 data]#:yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel [rootNode1 data]#:wget http://nginx.o…

JMeter工具介绍

Jmeter功能概要 JDK常用文件目录介绍 Bin目录:存放可执行文件和配置文件 Docs目录:是Jmeter的API文档,用于开发扩展组件 printable_docs目录:用户帮助手册 lib目录:存放JMeter依赖的jar包和用户扩展所依赖的Jar包 修…

linux mtd分区应用操作sample之某分区擦除

什么是擦除? 把flash相关的区域数据bit置为1的过程 #include <mtd/mtd-user.h> #include <mtd/mtd-abi.h> struct erase_info_user {__u32 start; // 起点 __u32 length; //长度 块大小对齐 不然报参数失败 };struct erase_info_user64 {__u64 sta…

wandb安装与使用 —— 用于跟踪、可视化和协作机器学习实验的工具

文章目录 一、wandb简介二、wandb注册与登陆&#xff08;网页&#xff09; —— 若登录&#xff0c;则支持在线功能三、wandb安装与登陆&#xff08;命令行&#xff09; —— 若不登录&#xff0c;则只保留离线功能四、函数详解4.1、wandb.init() —— 初始化一个新的 wandb 实…

Vivado的两种下载安装方式:Webpack下载与安装、本地文件安装详细步骤讲解

目录 1.前言2. Vivado Webpack下载、安装3.本地文件下载安装 微信公众号获取更多FPGA相关源码&#xff1a; 1.前言 本人自本科大二开始接触FPGA相关知识&#xff0c;现已将近六年&#xff0c;由于一直在上学&#xff0c;也不是一直在搞FPGA&#xff0c;但是也完成过一些项目…

【线性表】顺序存储和链式存储的实现

文章目录 顺序存储链式存储单向链表循环链表 线性表的定义 (1)概念定义&#xff1a;用数据元素的有限序列表示叫做线性表&#xff1b;线性表中数据元素的类型可以为简单类型&#xff0c;也可以为复杂类型。许多实际应用问题所涉的基本操作有很大相似性&#xff0c;不应为每个具…

Day02 设计首页导航条

设计首页导航条 导航条的样式&#xff0c;主要是从Material DesignThemes UI 拷贝过来修改的,项目用了这个UI组件库。就看项目需要什么&#xff0c;就去源码拷过来使用。 直接下载源码&#xff0c;编译运行就可以看到Demo 了 下载后且正常编译成功了&#xff0c;是能正常跑起来…

如何使用Python绘制出好看的小提琴图、箱形图、散点图、山脊图和柱状图

如何使用Python绘制出好看的小提琴图、箱形图、散点图、山脊图和柱状图 废话不多说&#xff0c;今天给大家分享一个&#xff0c;使用python绘制小提琴图、箱形图、散点图、山脊图和柱状图等等 图中的数据是随机生成的&#xff0c;图例&#xff0c;图注以及坐标题目各种信息&a…

javascript之对象属性配置

属性标志&#xff1a; 介绍&#xff1a; 对象属性&#xff0c;除 value 外&#xff0c;还有三个特殊的特性&#xff0c;也就是所谓的“标志”&#xff1a; 属性truefalsewritable值可以被修改只可读的enumerable被在循环中列出不会被列出configurable此属性可以被删除/修改 不可…

从头开始构建GPT标记器

从头开始构建GPT标记器 对于GPT Tokenizer&#xff0c;论文《Language Models are Unsupervised Multitask Learners》中介绍了一种字节级编码作为LLM的标记化机制&#xff1a; The vocabulary is expanded to 50,257. We also increase the context size from 512 to 1024 to…

python3.8环境下安装pyqt5

1.实验目的 测试python可视化工具包pyqt5,为后期做系统前端页面做铺垫 2.实验环境 1.软件 anaconda2.5 pycharm2024.1.1 pyqt5 2.硬件 GPU 4070TI Intel I7 1400K 3. 安装步骤 (base) C:\Users\PC>conda -V conda 23.7.4(base) C:\Users\PC>conda create qttest p…

基于卷积-小波神经网络的SAR图像海冰变化检测方法(MATLAB R2018A)

海冰是冰冻圈的重要组成部分&#xff0c;海冰的变化信息对航行安全和自然资源开采等非常重要&#xff0c;许多船舶没有加固防冰设备&#xff0c;因此&#xff0c;必须避开所有的冰区。尤其当冰压很高时&#xff0c;即使破冰船也很难在冰层中前行。为了安全航行&#xff0c;获取…

ctfshow-web入门-爆破(web21-web24)

目录 1、web21 2、web22 3、web23 4、web24 1、web21 爆破什么的&#xff0c;都是基操 需要认证才能访问 随便输一个用户名和密码抓包看看&#xff1a; 多出来一个认证的头 Authorization: Basic YWRtaW46MTIzNDU2 base64 解码看看&#xff1a; 就是我们刚才输入的用于测…

JVM之【运行时数据区2——堆】

三、堆&#xff08;Heap&#xff09; 1、什么是堆 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;堆&#xff08;Heap&#xff09;是用于动态分配内存的区域。在Java程序运行时&#xff0c;所有对象和数组都是在堆中分配内存的。堆是Java内存模型的重要组成部分&…

云计算-云基础设施的配置 (Provisioning Cloud Infrastructure)

AWS CloudFormation (AWS CloudFormation) 它是一项服务&#xff0c;允许我们自动建模和配置所需的AWS资源。可以使用模板来实现这一目的。这个模板基本上是用JSON或YAML格式编写的。AWS CloudFormation会根据模板描述的内容来实施资源的配置和管理。我们可以成组配置和管理一组…

MySQL—函数—日期函数(基础)

一、引言 接下来讨论和学习关于函数的第三个方面——日期函数。 常见的MySQL当中的日期函数。 注意&#xff1a; 1、CURDATE()&#xff1a;cur&#xff1a;current 当前的&#xff0c;返回的是当前日期。 2、CURTIME()&#xff1a;当前时间。 3、NOW&#xff1a;当前的日期和…

一、实现一个简单的 Google Chrome 扩展程序

目录 &#x1f9ed; 效果展示 # 图示效果 a. 拓展程序列表图示效果&#xff1a; b. 当前选项卡页面右键效果&#xff1a; c. 拓展程序消息提示效果&#xff1a; &#x1f4c7; 项目目录结构 # 说明 # 结构 # 文件一览 ✍ 核心代码 # manifest.json # background.j…