Python 复平面绘图实例

yipeiwu_com5年前Python基础

前言

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

效果图

说明

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

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

代码

# Python 2.x

import turtle
from 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 += d

def format(s):
 s = s.replace("^","**")
 return s

def evale(s):
 n = eval(s)
 return n

delay = input("delay = ") * 1e-3
turtle.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 复平面绘图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python的Django框架中从url中捕捉文本的方法

每个被捕获的参数将被作为纯Python字符串来发送,而不管正则表达式中的格式。 举个例子,在这行URLConf中: (r'^articles/(?P<year>\...

使用Python正则表达式操作文本数据的方法

什么是正则表达式 正则表达式,是简单地字符的序列,可指定特定的搜索模式。正则表达式已存在很长一段时间,并且它本身就是计算机科学的一个领域。 在 Python中,使用Python的内置r...

Python Django 页面上展示固定的页码数实现代码

Python Django 页面上展示固定的页码数实现代码

如果页数太多的话,全部显示在页面上就会显得很冗杂 可以在页面中显示规定的页码数 例如: book_list.html: <!DOCTYPE html> <htm...

python同时遍历数组的索引和值的实例

你想在迭代一个序列的同时跟踪正在被处理的元素索引。 获取索引 内置的 enumerate() 函数可以很好的解决这个问题: >>> my_list = ['a',...

Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】

本文实例讲述了Python开发SQLite3数据库相关操作。分享给大家供大家参考,具体如下: '''SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说 没有独立的维护进...