Python 复平面绘图实例

时间:2021-05-22

前言

在学校太闲,就写了这个程序,可以在复平面绘制曲线,画圆什么的很轻松,f(z) = e^(1j * z),螺旋线,函数图象等都可以。

效果图

说明

此程序使用turtle绘图,可以用作画函数图像,假设你想画函数g(x)的图像,那么就输入f(z) = z + 1j * g(z),g(z)是含z的表达式。

表达式可支持Python math库,random库,time库的所有函数,具体使用方法请自行探索。

代码

# Python 2.ximport turtlefrom random import *from math import *from time import *def printf(f): global z turtle.goto(f.real * 20, f.imag * 20) print("f(" + str(z) + ") = " + str(f)) z += ddef format(s): s = s.replace("^","**") return sdef evale(s): n = eval(s) return ndelay = input("delay = ") * 1e-3turtle.setup(1280, 720)turtle.speed(10)turtle.pensize(2)turtle.goto(-640, 0)turtle.goto(640, 0)turtle.goto(0, 0)turtle.goto(0, 360)turtle.goto(0, -360)turtle.goto(0, 0)while True: express = format(raw_input("f(z) = ")) d = input("d = ") min = input("min = ") max = input("max = ") z = min f = evale(express) turtle.pencolor(random(), random(), random()) turtle.penup() printf(f) turtle.pendown() while z < max: f = evale(express) printf(f)

注意

这个程序使用Python 2.x,若需要Python 3.x的程序,请自行修改。

以上这篇Python 复平面绘图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章