用Python画一个星空
1 问题
如何用Python画一个简单的星空?
2 方法
在Python中有着各种各样的工具包,比如math、pillow、requests等等,每个包有着自己专门的功能。要用python画星空,在绘制星空的过程中一般需要运用到turtle工具,它是属于Python的标准库,当然也可以将其称之为海龟库,它能够用于描绘绘图的轨迹,并且操作也比较简单、便捷。
代码清单 1
from turtle import * from random import random,randint screen = Screen() width ,height = 800,600 screen.setup(width,height) screen.title("模拟3D星空") screen.bgcolor("black") screen.mode("logo") screen.delay(0)#这里要设为0,否则很卡 t = Turtle(visible = False,shape='circle') t.pencolor("white") t.fillcolor("white") t.penup() t.setheading(-90) t.goto(width/2,randint(-height/2,height/2)) stars = [] for i in range(200): star = t.clone() s =random() /3 star.shapesize(s,s) star.speed(int(s*10)) star.setx(width/2 + randint(1,width)) star.sety( randint(-height/2,height/2)) star.showturtle() stars.append(star) while True: for star in stars: star.setx(star.xcor() - 3 * star.speed()) if star.xcor()<-width/2: star.hideturtle() star.setx(width/2 + randint(1,width)) star.sety( randint(-height/2,height/2)) star.showturtle() |
3 结语
针对用Python画一个简单星空的问题,提出使用Python中的turtle工具包的方法,通过实验,证明该方法是有效的,此方法简单易行,但仍有不足或考虑不周的地方,未来可以继续研究更高级算法。