使用python绘制任意函数图像
使用python绘制任意函数图像
##原创文章不易,望点赞转发收藏三连
效果展示
y = (sinx)/x
y = x4+x3+x^2+1
y=-x^2
文末还会展示一些实例图片
引入需要的库
我们使用如下库
import turtle as t
import math
这两个库的用法也是本项目的核心
其中基本语法不再赘述
大家可以网络搜索
核心算法
我们假设像素点为坐标点,通过goto(x,y)与y,x的函数关系进行找点
通过penup().pendown()连接个点,视觉上像素点的连线几乎为曲线
当然,可以通过仅仅画点保证准确度
绘画坐标系
坐标系的绘制不是难事,就是麻烦,我已经经过尝试,给出以下数据,方便大家使用
t.screensize(800,800,"white")
t.hideturtle()
t.speed(0)
t.pendown()
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.penup()
t.goto(-10,-15)
t.write("O")
t.goto(350,-15)
t.write("x")
t.goto(-15,337)
t.write("y")
基本设置
我们再画图像之前要初始化x的位置,避免画到画布外,否则会报错
之后处理y时,也要注意这一点
另外,可以设置曲线粗细和绘画速度
粗细1–>n变粗
速度1–>10->0变快
n = int(input(r"输入需要放大的倍数:"))
x = int((-350)/n)
t.pensize(1)
t.speed(10)
while pass:pass
处理函数关系
首先两个确定:
1.确定函数解析式,要符合python语法
2.确定定义域的补集合
然后避免两点:
1.避免x的取值超出定义域,出现MATHS ERROR
2.避免y超出范围,导致ERROE
再注意两个近似:
1.可以每个点向前画一个坐标,近似于点
2.pendown()下的goto()连接点,近似于曲线
还有两个选择:
1.penup()的注释取消后,将t.penup()加入代码,可以之画点不连线
2.math库可以丰富函数类型
while x <= int((350)/n):if x!=0: #定义域的反域y = m.sin(x)/x #函数解析式if y>=-350 and y<=350:t.goto(n*x,y*n)t.pendown()t.forward(1)#t.penup()x+=1
如果实在不清楚定义域或者表示起来不方便
也可以采用try-except结构自动处理
while pass:try:y = math.sin(x)/xexcept:#breakpass ###根据需要选择,建议直接passpass
最后别忘了title库结尾的title.done()
展示源代码
import turtle as t
import math as m
t.screensize(800,800,"white")
t.hideturtle()
t.speed(0)
t.pendown()
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.goto(0,0)
t.forward(800)
t.left(90)
t.penup()
t.goto(-10,-15)
t.write("O")
t.goto(350,-15)
t.write("x")
t.goto(-15,337)
t.write("y")n = int(input(r"输入需要放大的倍数:"))
x = int((-350)/n)
t.pensize(1)
t.speed(10)
while x <= int((350)/n):if x!=0: #定义域的反域y = m.sin(x)/x #函数解析式if y>=-350 and y<=350:t.goto(n*x,y*n)t.pendown()t.forward(1)#t.penup()x+=1
t.down()
图片展示
双曲正弦
双曲余弦
双曲正切(原点附近)
正弦
余弦
使用python绘制任意函数图像相关推荐
- 用Python绘制数学函数图像
博客文章: https://blog.manchan.top/post/Drawing-mathematical-function-images-with-Python/可在此处找到我 前言 最近开始 ...
- 项目二:绘制数学函数图像
在Python中,绘制函数图像一般要用到Numpy和 Matplotlib两个模块,这两个模块需要另外安装. numpy模块: 是一个科学计算包,其中包括很多数学函数,如三角函数.矩阵计算方法.矢量运 ...
- python实现数学函数图像
python实现数学函数图像 预备知识 使用python绘制基本初等函数 在数学里,基本初等函数包括幂函数.指数函数.对数函数.三角函数.反三角函数.常数函数.不同函数的定义: python标准库[注 ...
- 分享:python,限制任意函数,线程的执行时间或根据条件终止.
python,限制任意函数,线程的执行时间或根据条件终止. http://my.oschina.net/u/1024140/blog/122778
- 使用 Python 绘制 Log 函数图
使用 Python 绘制 Log 函数图 在数学和科学计算中,Log 函数是一个基本的函数之一.在数据分析.信号处理.机器学习等领域,Log 函数也有着广泛的应用.因此,在 Python 中绘制 Lo ...
- 如何用python画函数曲线_python 画函数曲线示例 用python 怎么画函数图像
Python如何画函数的曲线 输入以下代码导入小编们用到的函数库. >>> import numpy as np >>> import matplotlib.pyp ...
- 基于 function-plot.js 开源库绘制数学函数图像实现兼文档翻译
一.前言: 前段时间移动项目想实现一个能实时绘制数学函数图像的H5小应用, app 通过 webview 进行嵌入,目前网上提供了大致有两种方法: ①.Chart.js 结合 Plugins 绘制 = ...
- htm+JS实现绘制数学函数图像
htm+JS实现绘制数学函数图像 其中常用的函数可参见,JS中常用的Math方法 https://blog.51cto.com/u_10725738/5253407 https://www.jb51. ...
- matplotlib绘制sin函数图像
import matplotlib.pyplot as plt import numpy as np # 目标:绘制sin函数图像# 第一步:绘制x轴的刻度 x = np.linspace(0, np ...
最新文章
- github提交代码却没有显示绿格子
- R构建朴素贝叶斯分类器(Naive Bayes Classifier)
- python能在excel运行吗-用ExcelPython在Excel中调用Python
- Makefile:160: recipe for target 'all' failed (Ubuntu 16.06 + Opencv3.2)解决办法
- 中望cad2018中文版
- cron表达式详解 Elastic-Job名次解释
- node php聊天室,最简单的Nodejs聊天室示例
- c语言安卓贪吃蛇代码下载,C语言贪吃蛇代码
- K8S+KubeSphere之Helm安装
- android handler内存,Android handler之内存泄露原因揭示
- linux top 命令可视化_linux性能监控:CPU监控命令之top命令
- 手机连接ftp文件服务器,手机轻松玩转小白文件管理器远程FTP教程——x-plo
- vs2005安装和部署项目
- 深入WEP密码破解原理
- WebRTC 音视频同步分析
- vue 高德地图的使用
- GMap.net 地图展示以及地图标记
- C++ gcc编译器加速优化
- error: #268: declaration may not appear after executable statement in block
- esc键 qt 退出菜单_Qt中Esc键触发事件处理
热门文章
- iPhone和Android的区别,苹果手机用户和安卓用户使用的四大区别,你符合几个?...
- Python学习笔记(五)—— Slicing
- C++虚函数和纯虚函数理解
- 各路厂商花式入局,打开元宇宙的正确方式究竟是?
- HDU 1804 Deli Deli
- 总结二十二:如何在公司建立成功的技术文化(2)
- 各大厂商的免费 800电话号码 (经典没事拨来玩)
- windows服务器搭建原神私服教程(附客户端+服务端+环境配置)
- 每日新闻丨​云从科技联合华为发布全新智慧社区解决方案
- 涡轮流量计原理和选择方法