​   来源:百度动图

​  关于星空,有很多唯美的句子。

  “一切都如生命一般,在悄然地发生着变化,就如这黑夜一样,失去了光明,却得到了星空的美”

  “他在伦敦星空写下:你是我唯一星辰。她在小镇星空写下:而你却是我整片星空”

  一直对星空有莫名的好感,也有无尽的向往,今天跟大家一起用Python模拟3D星空图。

  
  

一、先来看看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._bgpicnameif 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格式。另一个是加载后图片太小,可能只有窗口的三分之一。可以在画图中重新调整图片的大小,把水平和垂直的值变大。

如对代码有疑问,可以到公众号中私信我。

  
参考文献:

https://zhidao.baidu.com/question/1452769866435471900.html

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

Python画好看的星空图(唯美的背景)相关推荐

  1. python canvas画弧度_用Python画樱花?想得美就能画得美(下)

    上一篇我们介绍了一种手绘玫瑰的方法,你当然也可以用类似的方法画一朵或者几朵樱花 咯,看你的艺术底子了. 不过今天我们用优美的数学方法来画樱花,也会很漂亮的. 先画朵太阳花暖暖身吧. import tu ...

  2. python使用 Scrapy 爬取唯美女生网站的图片资源

    python  python使用 Scrapy 爬取唯美女生网站 的资源,图片很好,爬取也有一定的难度,最终使用Scrapy获取了该网站 1.5W多张美眉照片....如有侵权,联系,立删除. ==== ...

  3. Python画最美星空(唯美的背景和悠扬的音乐)

    ​   来源:百度动图 ​  关于星空,有很多唯美的句子.   "一切都如生命一般,在悄然地发生着变化,就如这黑夜一样,失去了光明,却得到了星空的美"   "他在伦敦星空 ...

  4. python可以编什么发型,长发编什么发型好看 2017—2018唯美长发编发

    长发编发发型 长发女生最美好的写照,绝对不是没有灵动感的单纯直发披肩发,或者是卷发披肩发. 波西米亚的长发编发款式,原宿风结合波西米亚,优雅十足,带给你唯美的时尚感. 长发编发发型 深棕色渐变的长波浪 ...

  5. 用python画好看的图片,第二天用python绘画一些简单图片

    python画笑脸程序源代码import turtle #画脸 t = turtle.Pen() t.speed(15) #t.circle(150) #t.color('orange') t.fil ...

  6. python画星空的程序_Python画好看的星空图

    有许多关于星空的美丽的句子.\u201C一切都像生活,悄然转变,就像今天晚上一样,失去了光明,但获得的美丽星空\u201D\u201D他写道在伦敦星空:你是我唯一的明星.她在星空的小镇.写下:\u20 ...

  7. python设计樱花_用Python画樱花?想得美就能画得美(上)

    前段时间疯传的武大学生用Python代码画出樱花,暗藏"武汉加油",好感人的. 不过他们的代码并不是"画"樱花,而是剪辑一段樱花的视频,把其中的像素替换为&qu ...

  8. python樱花_用Python画樱花?想得美就能画得美(上)

    前段时间疯传的武大学生用Python代码画出樱花,暗藏"武汉加油",好感人的. 不过他们的代码并不是"画"樱花,而是剪辑一段樱花的视频,把其中的像素替换为&qu ...

  9. python画好看的图-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

最新文章

  1. android 消除标题,Android Activity 去掉标题栏及全屏显示
  2. java arcgis server_ArcGIS Server Java 开发实战---自定义command
  3. python:pytest优秀博客
  4. linux中的信号1——信号概述
  5. 序列代码UVa 111 History Grading (最长公共子序列)
  6. 646. Maximum Length of Pair Chain 最长的链条长度
  7. Java内存分配之堆、栈和常量池(转)
  8. INCEPTION 编译过程报错 make[2]: * [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error
  9. Dash_API与必应翻译的综合使用
  10. Zigbee 协议栈网络管理
  11. 交互式计算机图形学 第六版 pdf,1交互式计算机图形学系统.pdf
  12. 使用usb有线网卡u-boot无法ping通虚拟机
  13. 使用 JavaScript 将 JSON 数据动态转换为 HTML 表
  14. 利用支付宝短信服务接口 实现手机号 验证码登录Demo
  15. V831学习日记之串口通信
  16. 2021年茶艺师(中级)免费试题及茶艺师(中级)模拟试题
  17. 【物联网】23.物联网开发之感测系统 - GPS(GNSS)
  18. js网页打印,js打印,javascript局部打印,网页局部打印方法
  19. ffmpeg运行在服务器上,如何在脱离流媒体服务器的时候使用ffmpeg 监测.m3u8直播视频流的状态?...
  20. 【JAVA虚拟机】java虚拟机

热门文章

  1. 亚马逊云科技上的游戏服务:Lumberyard + Amazon GameLift + Twitch
  2. css样式使用::before设置段落前面的小圆点
  3. perl正则表达式匹配任意单字符_PHP七天系列之正则表达式
  4. 中国社科院与美国杜兰大学金融管理硕士——与时间赛跑,充分利用每一分钟
  5. 肚子都笑疼的爆笑笑话有哪些?
  6. [Ljava.lang.Object 是什么
  7. GO语言————8.6 将 map 的键值对调
  8. Movavi Screen Recorder for Mac(屏幕录像软件)
  9. CIM、WBEM、SMI-S。。。。。。
  10. 神木林服务器未能,梦幻西游:老玩家回归,拿下172神木林,希望通过打图实现化圣...