Python函数图像绘制(使用海龟库)

序言

如果我们想绘制函数图像,百度上的实现方法琳琅满目,而大多都是使用matlab或其他复杂的库。对于初学者十分头疼。今天我将带着大家一起使用海龟库绘制函数图像。程序十分简单,相对的也不是很美观,大家可以再完善。

准备工作

import turtle as t
t.speed(0)#绘制速度达到最快

绘制一个简易坐标轴

def drawline():
    t.forward(500)
    t.backward(500*2)
    t.forward(500)
drawline()
t.left(90)
drawline()
#这里自行理解,不做赘述

函数图像的绘制的思路

还记得我们怎么画的函数图像吗?是不是给几个坐标点,然后把值带入函数解析式。描点,连线。计算机也是同样的道理。
我们可以用t.goto(x,y)来实现从当前点走到目标点,从而实现连线功能。

现在开始写程序,绘制y=x+10


for x in range(-100,100):
    y=x+10 #数学函数解析式
    
    t.goto(x,y)

在这里插入图片描述
这个是什么呢,因为画笔是从原点出发的,所以我们应该先抬笔,到第一个函数点,再落笔就好了。

改进后的程序


for x in range(-100,100):
    y=x+10 #数学函数解析式
    if x== -100:
        t.penup()
        t.goto(x,y)
        t.pendown()
    t.goto(x,y)
    

这个方法不好的话,可以再做改进,我只是提出一个思路。

全部代码

import turtle as t
t.speed(0)
def drawline():
    t.forward(500)
    t.backward(500*2)
    t.forward(500)
drawline()
t.left(90)
drawline()

for x in range(-100,100):
    y=-2*x #数学函数解析式
    if x== -100:
        t.penup()
        t.goto(x,y)
        t.pendown()
    t.goto(x,y)

结语

这只是最简单的代码思路,如果想做其他函数例如 f(x) 这种形式,可以自己再导入math库,再加几层函数嵌套。
写文不易,欢迎提出建议或意见,也请点赞再走,感谢您浏览我的文章。

热门文章

暂无图片
编程学习 ·

《伸手系列》之分布式锁Redssion入门和源码解析

Redisson简介 Javaer都知道Jedis,Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持。Redission也是Redis的客户端,相比于Jedis功能简单。Jedis简单使用阻塞的I/O和redis交互,Redission通过Netty支持非阻塞I/O。Jedis最新版本2.9.0是2016年的快3年了没…
暂无图片
编程学习 ·

转 C++常用设计模式

适配器模式可以将一个类的接口转换成客户端希望的另一个接口,使得原来由于接口不兼容而不能在一起工作的那些类可以在一起工作。通俗的讲就是当我们已经有了一些类,而这些类不能满足新的需求,此时就可以考虑是否能将现有的类适配成可以满足新需求的类。适配器类需要继承或依…
暂无图片
编程学习 ·

XML DOM摘要四(XMLHttpRequest 对象)

什么是 XMLHttpRequest 对象?XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。XMLHttpRequest 对象是开发者的梦想,因为您能够:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据 所有现…
暂无图片
编程学习 ·

STM32CubeMX5.6.1生成的代码无启动文件

丢失启动文件 使用这个版本的CubeMX,生成的代码里面没有对应的启动文件。编译报错 展开图片,在Drivers/CMSIS文件夹下面,没有启动文件。编译不通过,报错No section matches selector - no section to be FIRST/LAST。//------------------------------------------ 解决方法…
暂无图片
编程学习 ·

Spring Boot + RabbitMQ 配置参数解释

application.properties配置文件写法#rabbitmq spring.rabbitmq.virtual-host=/ spring.rabbitmq.host=192.168.124.20 spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.listener.concurrency=10 spring.rabbitmq.l…
暂无图片
编程学习 ·

Python爬虫入门教程 72-100 分布式爬虫初步解析-配好环境肝完一半

写在前面 最近该系列的爬虫更新比较慢了,原因是实在写不动了,70多篇博客,每一篇都是一个案例,在写好多都不是篇博客可以容纳的了,而且爬虫的技术在70多篇中都有所涉及了,但是flag既然历下了,那么就必须要把它完成,接下来进入一些稍微稍微麻烦一点的内容,第一个咱就写分…
暂无图片
编程学习 ·

C#中常见的简答题(第三天)

8.简述ADO.NET中五个主要对象A.Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。Close和Dispose的区别,Close以后还可以Open,Dispose以后则不能再用。B.Command:主要可以用来对数据库发出一些指令,例如可以对数据…
暂无图片
编程学习 ·

Autosar4.4:通用架构模板 - 元建模模式与模型转换(2/3)

元模型化模式是参数化的结构,当将其应用于实际参数时,会产生规则的,非参数化的结构。 结构只是由关联和聚合关联的元类的集合。 模式的好处在于,它们允许重复使用重复结构,而无需重复其定义。 本章介绍元建模模式的概念,以及它们在AUTOSAR元模型中的使用和表示法。 另一个…
暂无图片
编程学习 ·

mxnet安装环境配置

一、安装Miniconda 官方网址:https://conda.io/en/latest/miniconda.html 本人选择python3.7版本Windows64位 安装完成后打开Anaconda Prompt创建虚拟环境conda create –n env python=3.7 这里的env为自定义环境名激活环境 conda activate env 退出环境: conda deactivate查…
暂无图片
编程学习 ·

Spring Boot内嵌Tomcat临时目录问题

最近发现线上一个项目日志突然报错,最终找到解决方法记录一下原因参考 https://github.com/spring-projects/spring-boot/issues/5009tmpwatch – removes files which haven’t been accessed for a period of time如上所言,删除指定的目录中一段时间未访问的文件。一般对于…
暂无图片
编程学习 ·

金秋十月,再聚蓉城!一展一会,涌动环保新商机!

如果不是……今天会是“第二届中国环博会成都展”与“2020中国环境产业高峰论坛”开幕的日子。现在,两大盛会确定改到10月13-15日,地点仍为中国成都西部国际博览城。在等待的日子里,我们一起来回顾一下去年展会的盛况,再跟朋友们说说今年的最新动态。 品牌环保展落户蓉城 强…
暂无图片
编程学习 ·

学习JWT -- JSON WEB TOKEN

一、介绍Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资…
暂无图片
编程学习 ·

mssql server数据库日志清理

ERP的数据库运行一段时间后会增加的很大,主要是数据库的日志文件增大较多,以金蝶K3为例,可以执行以下语句清理数据库的日志文件。 USE [master] GO ALTER DATABASE AIS20141013114943 SET RECOVERY SIMPLE WITH NO_WAIT ---database后为数据库名 GO ALTER DATABASE AIS20141…
暂无图片
编程学习 ·

MySQL数据库的备份与恢复(4)——mysqldump参数详解

MySQL数据库的备份与恢复(4)——mysqldump参数详解 mysqldump是MySQL自带的逻辑备份命令,备份文件包含一组SQL语句,可以通过执行这些语句来生成备份前的数据库对象定义和表数据。mysqldump命令还可以生成CSV,其他分隔文本或XML格式的输出。 mysqldump命令的格式如下: mys…
暂无图片
编程学习 ·

「进击的前端工程师」JavaScript设计模式(一)

微信搜索【前端食堂】你的前端食堂,记得按时吃饭。 本文已收录在前端食堂 Github https://github.com/Geekhyt/front-end-canteen,感谢Star。在开始阅读本文之前,大家可以先去看一下这个问题前端未来几年的发展方向是什么? 有一个简单的大局观,造完了火箭,再回归正文,我…
暂无图片
编程学习 ·

LeetCode 378. 有序矩阵中第K小的元素(二分或者归并)

Description 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例:matrix = [[ 1, 5, 9],[10, 11, 13],[12, 13, 15] ], k = 8,返回 13。来源:力扣(LeetCode) 链接:http…