溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python 復(fù)平面繪圖實(shí)例

發(fā)布時(shí)間:2020-10-17 07:29:12 來源:腳本之家 閱讀:214 作者:燒風(fēng) 欄目:開發(fā)技術(shù)

前言

在學(xué)校太閑,就寫了這個程序,可以在復(fù)平面繪制曲線,畫圓什么的很輕松,f(z) = e^(1j * z),螺旋線,函數(shù)圖象等都可以。

效果圖

Python 復(fù)平面繪圖實(shí)例

說明

此程序使用turtle繪圖,可以用作畫函數(shù)圖像,假設(shè)你想畫函數(shù)g(x)的圖像,那么就輸入f(z) = z + 1j * g(z),g(z)是含z的表達(dá)式。

表達(dá)式可支持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 復(fù)平面繪圖實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI