Python 復平面繪圖實例
更新時間:2019年11月21日 08:42:15 作者:燒風
今天小編就為大家分享一篇Python 復平面繪圖實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
前言
在學校太閑,就寫了這個程序,可以在復平面繪制曲線,畫圓什么的很輕松,f(z) = e^(1j * z),螺旋線,函數(shù)圖象等都可以。
效果圖
說明
此程序使用turtle繪圖,可以用作畫函數(shù)圖像,假設(shè)你想畫函數(shù)g(x)的圖像,那么就輸入f(z) = z + 1j * g(z),g(z)是含z的表達式。
表達式可支持Python math庫,random庫,time庫的所有函數(shù),具體使用方法請自行探索。
代碼
# 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 復平面繪圖實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
PyTorch 1.0 正式版已經(jīng)發(fā)布了
今天小編就為大家分享一篇關(guān)于PyTorch 1.0 正式版已經(jīng)發(fā)布了!小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12