Python绘画好看的星空图
目录
- 一、先来看看Python星空图代码绘制成品
- 1两个人的星空
- 2明月相伴的星空
- 3浩瀚银河中的星空
- 4森林映衬下的星空
- 二、分解Python模拟3D星空图代码讲解
- 1下载并加载库
- 2设置屏幕和背景颜色
- 3在屏幕的右下角写下文字
- 4设置绘圆圈的基本语句
- 5定义一个生成背景图片的函数
- 6在代码中加入生成背景图片的语句
一、先来看看Python星空图代码绘制成品
1 两个人的星空
星空下,欲执子之手,相倚长青树。看皎洁月色,闻乡间气息,赏佳人芳心。
2 明月相伴的星空
圆圆明月赏晴空,星空满点洒心中。
3 浩瀚银河中的星空
银河系里的星系再散,再相遇总会在光年之外,碰撞不会化为尘埃是爱。
4 森林映衬下的星空
万千森林,只寻一处幽香。星河滚烫,你是人间理想。即便冰天雪地也尘封不了我对你的爱。
二、分解Python模拟3D星空图代码讲解
1 下载并加载库
turtle库(相当于给你一支画笔,你可以在画布上用数学逻辑控制的代码完成绘图)。
random库,可以生成随机数。
""" 代码用途:模拟3D星空 作者:阿黎逸阳 """ from turtle import * from random import random,randint
接下来挑选几段基本代码进行展示,全部代码可以在公众号后台回复 “3D星空图V2” ,即可获得完整源代码百度网盘链接。如果想看加了背景音乐的星空图请转至博客“加背景音乐和图片的星空图”。
2 设置屏幕和背景颜色
设置屏幕的像素,并把背景颜色设置为黑色。
s = Screen() width ,height = 800,600 s.setup(width,height) #输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例 s.title("模拟3D星空-阿黎逸阳") #设置标题 s.bgcolor("black") #设置背景颜色为黑色 s.mode("logo") #设置乌龟模式(“standard”,“logo”或“world”)并执行重置,logo表示向上 s.delay(0) #设置或返回以毫秒为单位的绘图延迟,这里要设为0,否则很卡
3 在屏幕的右下角写下文字
用海龟在屏幕的右下角写下喜欢的话,由于底色是黑色,所以把字体颜色设置为白色(write后面的文字可以替换成你喜欢的)。
printer = Turtle() printer.hideturtle() printer.penup() printer.color('white') printer.goto(-100,-150) printer.write("In the whole universe\n\n",move = True, align="left", font=("Italic", 30, "bold")) printer.goto(-300,-200) printer.write("you're the only star belongs me!\n\n",move = True, align="left", font=("Italic", 30, "bold"))
4 设置绘圆圈的基本语句
设置绘制白色圆圈的基本语句:
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)) #把画笔移动到定点
5 定义一个生成背景图片的函数
def bgpic(self, picname=None): if picname is None: return self._bgpicname if picname not in self._bgpics: self._bgpics[picname] = self._image(picname) self._setbgpic(self._bgpic, self._bgpics[picname]) self._bgpicname = picname
6 在代码中加入生成背景图片的语句
from turtle import * from random import random,randint import os #导入设置路径的库 import sys from pygame.locals import * os.chdir('F:/微信公众号/Python/0.已发表/23.绘制星空图/星空图v2') #把路径改为数据存放的路径 screen = Screen() width ,height = 800,600 screen.setup(width,height) #输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例 screen.title("模拟3D星空-阿黎逸阳") #设置标题 screen.bgcolor("black") #设置背景颜色 darkblue screen.bgpic(r'./两个背影.gif') screen.mode("logo") #设置乌龟模式(“standard”,“logo”或“world”)并执行重置,logo表示向上 screen.delay(0) #设置或返回以毫秒为单位的绘图延迟,这里要设为0,否则很卡 printer = Turtle() printer.hideturtle()
在添加背景图片时碰到了两个坑。一个是图片格式必须是gif,如果不是建议用画图打开,另存为gif格式。另一个是加载后图片太小,可能只有窗口的三分之一。可以在画图中重新调整图片的大小,把水平和垂直的值变大。
到此这篇关于Python绘画好看的星空图的文章就介绍到这了,更多相关Python绘星空图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)