溫馨提示×

溫馨提示×

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

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

Python 復平面繪圖實例

發布時間:2020-10-17 07:29:12 來源:腳本之家 閱讀:245 作者:燒風 欄目:開發技術

前言

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

效果圖

Python 復平面繪圖實例

說明

此程序使用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 復平面繪圖實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女