栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

不会画函数图像?套用模板就行了

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

不会画函数图像?套用模板就行了

使用的模块:turtle、math

模块安装:在命令行输入  pip install turtle

                                         pip install math

1.建立坐标轴

def set(wide,high):#建立坐标图
    turtle.speed(0)
    turtle.pencolor('red')
    turtle.setup(wide,high)
    turtle.forward(wide/2)
    turtle.backward(wide)
    turtle.forward(wide/2)
    turtle.left(90)
    turtle.forward(high/2)
    turtle.backward(high)
    turtle.forward(high/2)

2.由参数范围和步长定义函数

ef frange(start,stop,step):#返回一个浮点数列表
    a=[]
    for i in range(int((stop-start)/step)):
        a.append("{:f}".format(start+step*i))
    return a

3.示例

 用以下代码来实现作图:

turtle.pencolor('blue')
for t in frange(-10*(math.pi),10*(math.pi),0.01):
    t=float(t)#列表的元素是字符串,转换成浮点数运算
    x=(3*300*t)/(4*(1+t**3))
    y=(3*300*(t**2))/(4*(1+t**3))#函数关系
    if t == -10 * (math.pi):
        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()
    turtle.speed(0)
    turtle.goto(x,y)

完整代码:

import turtle,math

def set(wide,high):#建立坐标图
    turtle.speed(0)
    turtle.pencolor('red')
    turtle.setup(wide,high)
    turtle.forward(wide/2)
    turtle.backward(wide)
    turtle.forward(wide/2)
    turtle.left(90)
    turtle.forward(high/2)
    turtle.backward(high)
    turtle.forward(high/2)

set(600,600)

def frange(start,stop,step):#返回一个浮点数列表
    a=[]
    for i in range(int((stop-start)/step)):
        a.append("{:f}".format(start+step*i))
    return a

turtle.pencolor('blue')
for t in frange(-10*(math.pi),10*(math.pi),0.01):
    t=float(t)#列表的元素是字符串,转换成浮点数运算
    x=(3*300*t)/(4*(1+t**3))
    y=(3*300*(t**2))/(4*(1+t**3))#函数关系
    if t == -10 * (math.pi):
        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()
    turtle.speed(0)
    turtle.delay(0)
    turtle.goto(x,y)

turtle.done()

在作图过程中你可能会遇到作图慢的困扰,那么如何提高作图速度呢?你首先想到的可能是turtle.speed(0),即使这样也不能很快的提高作图速度。这时你需要使用turtle.delay(0),turtle作图默认会有延迟,将参数设置为0,就可以消除延迟了。

注:delay函数必须跟在speed函数后面使用才有效果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号