Python 复平面绘图实例

yipeiwu_com6年前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设计】。

相关文章

Pytorch中index_select() 函数的实现理解

函数形式: index_select( dim, index ) 参数: dim:表示从第几维挑选数据,类型为int值; index:表示从第一个参数维度中的哪个...

Python中的if、else、elif语句用法简明讲解

下面我们学习if语句,输入下面的代码,确保能够正确运行。 people = 20 cats = 30 dogs = 15 if people < cats:...

python分治法求二维数组局部峰值方法

python分治法求二维数组局部峰值方法

题目的意思大致是在一个n*m的二维数组中,找到一个局部峰值。峰值要求大于相邻的四个元素(数组边界以外视为负无穷),比如最后我们找到峰值A[j][i],则有A[j][i] > A[j...

python 利用pandas将arff文件转csv文件的方法

直接贴代码啦: #coding=utf-8 import pandas as pd def arff_to_csv(fpath): #读取arff数据 if fpath.f...

利用python实现简易版的贪吃蛇游戏(面向python小白)

利用python实现简易版的贪吃蛇游戏(面向python小白)

引言 作为python 小白,总是觉得自己要做好百分之二百的准备,才能开始写程序。以至于常常整天在那看各种语法教程,学了几个月还是只会print('hello world')。 这样...