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

一,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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Map Python用法:深度解析与应用探索

Map Python用法:深度解析与应用探索 在Python编程中,map() 函数是一种强大的内置高阶函数,用于对可迭代对象中的每个元素应用指定的函数,并返回一个新的迭代器,其中包含函数应用后的结果。本文将从四个方面、五个方面…

Bean的生命周期中有哪些对外开放的接口,及各种作用

Bean的生命周期中有哪些对外开放的接口,及各种作用 在 Spring 框架中,Bean 的生命周期可以通过一系列的回调接口来管理和控制。以下是 Spring 中对外开放的主要 Bean 生命周期接口以及它们的作用: InitializingBean 和 DisposableBean 接口&…

C++|set、map模拟实现<——红黑树

目录 一、红黑树的迭代器 1.1红黑树迭代器框架 1.2operator*() && operator->() 1.3operator() 1.4operator--() 1.5operator() && operator!() 1.6begin() && end() 二、如何用红黑树搭配map和set(仿函数) 三、红黑树封装map和set(简易版…

springboot + Vue前后端项目(第十三记)

项目实战第十三记 写在前面1.建立角色表2. 后端代码生成2.1 RoleController 3. 前端页面的搭建3.1 Role.vue3.2 路由3.3 Aside.vue3.4 页面效果 4.建立菜单表5.后端代码编写5.1 Menu5.2 MenuController 6.前端页面的搭建6.1 Menu.vue6.2 路由6.3 Aside.vue6.4 页面效果 总结写在…

keepalived安装文档

目录 1、安装环境 2、安装keepalived 2.1 上传keepalived安装文件 2.2 解压 2.3 安装keepalived 2.4 加入开机启动: 2.5 配置日志文件 2.6 打开防火墙的通讯地址 1、安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y …

vx小程序初学

小程序初学 在我还没接触到微信小程序之前,通常使用轮播要么手写或使用swiper插件去实现,当我接触到微信小程序之后,我看到了微信小程序的强大之处,让我为大家介绍一下吧! swiper与swiper-item一起使用可以做轮播图 …

把自己的服务器添加到presearch节点

Presearch is a scam. Before, judging by the price of the token you should have been able to get between $150-$200 after 12-13 months of regular searches. "If you use this service for the next 11 years you will have earned $30!" Presearch大约需要…

Easy RoCE:在SONiC交换机上一键启用无损以太网

RDMA(远程直接内存访问)技术是一种绕过 CPU 或操作系统,在计算机之间直接传输内存数据的技术。它释放了内存带宽和 CPU,使节点之间的通信具有更低的延迟和更高的吞吐量。目前,RDMA 技术已广泛应用于高性能计算、人工智…

车流量监控系统

1.项目介绍 本文档是对于“车流量检测平台”的应用技术进行汇总,适用于此系统所有开发,测试以及使用人员,其中包括设计背景,应用场景,系统架构,技术分析,系统调度,环境依赖&#xf…

MongoDB~存储引擎了解

存储引擎 存储引擎是一个数据库的核心,主要负责内存、磁盘里数据的管理和维护。 MongoBD的优势,在于其数据模型定义的灵活性、以及可拓展性。但不要忽略,其存储引擎也是插件式的存在,支持不同类型的存储引擎,使用不同…

导线防碰撞警示灯:高压线路安全保障

导线防碰撞警示灯:高压线路安全保障 在广袤的大地上,高压线路如同血脉般纵横交错,然而,在这看似平静的电力输送背后,却隐藏着不容忽视的安全隐患。特别是在那些输电线路跨越道路、施工等区域的路段,线下超…

顶点着色技术在AI去衣中的作用

在当今的数字时代,人工智能(AI)已经渗透到我们生活的方方面面,从智能家居到自动驾驶汽车,再到在线购物推荐。然而,AI的影响远不止于此。近年来,AI在图像处理和计算机视觉领域的应用取得了显著进…

c++字符串相关接口

c字符串相关接口 1.str2wstr(str转换wstr)2.wstr2str(str转换wstr)3.Utf8ToAsi(Utf8转换ANSI)4.AsiToUtf8(ANSI转换Utf8)5.stringformatA/stringformatW(按照指定的格式格式化字符串)6.GetStringBetween(获取cStart cEnd之间的字符串)7.Char2Int(char转int)8.Str2Bin(字符串转换…

视觉语言大模型llava学习

1. 拉取 https://github.com/haotian-liu/LLaVA 视觉语言大模型是人工智能领域一种重要的多模态模型,它结合了计算机视觉(CV)和自然语言处理(NLP)的技术,使得模型能够同时理解图像和文本信息。这类模型在多…

hadoop部署

需要3台机子,Linux为centos7 分别设置静态ip,设置主机名,配置主机名映射,配置ssh免密登入 hadoop1 192.168.1.7 hadoop2 192.168.1.8 hadoop3 192.168.1.9 vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE"Ethernet" PROX…

Kotlin 泛型

文章目录 定义泛型属性泛型函数泛型类或接口 where 声明多个约束泛型具体化in、out 限制泛型输入输出 定义 有时候我们会有这样的需求:一个类可以操作某一类型的对象,并且限定只有该类型的参数才能执行相关的操作。 如果我们直接指定该类型Int&#xff…

机器人抓取检测(Robot Grasping Detection)

目录 前言 一、物体检测 二、抓取点生成 三、运动规划 四、控制 五、总结 前言 机器人抓取检测(Robot Grasping Detection)是指通过计算机视觉和机器学习技术,自动识别并确定机器人如何抓取物体的一种技术。这个过程涉及多个步骤和关键…

【Python系列】Python 中方法定义与方法调用详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

详细介绍运算符重载函数,清晰明了

祝各位六一快乐~ 前言 1.为什么要进行运算符重载? C中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C中重新定义这些运算符&#xff…

短信发送验证码及邮件发送验证码

发送短信验证码 阿里云发送验证码 public Integer sendTelCode(String tel) {String url "https://dfsns.market.alicloudapi.com/data/send_sms";String appcode "a3198282fbdf443d97aa9f3cfbe1232e";int code RandomUtil.randomInt(1000,10000);emai…