Python绘画好看的星空图


Posted in Python onMarch 17, 2022

一、先来看看Python星空图代码绘制成品

1 两个人的星空

星空下,欲执子之手,相倚长青树。看皎洁月色,闻乡间气息,赏佳人芳心。

Python绘画好看的星空图

2 明月相伴的星空

圆圆明月赏晴空,星空满点洒心中。

Python绘画好看的星空图

3 浩瀚银河中的星空

银河系里的星系再散,再相遇总会在光年之外,碰撞不会化为尘埃是爱。

Python绘画好看的星空图

4 森林映衬下的星空

万千森林,只寻一处幽香。星河滚烫,你是人间理想。即便冰天雪地也尘封不了我对你的爱。

Python绘画好看的星空图

二、分解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绘画好看的星空图的文章就介绍到这了,更多相关Python绘星空图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
Python使用Scrapy爬取妹子图
May 28 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
python+splinter自动刷新抢票功能
Sep 25 Python
python2和python3在处理字符串上的区别详解
May 29 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
Python编写带选项的命令行程序方法
Aug 13 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
Python读写Excel表格的方法
Mar 02 Python
opencv深入浅出了解机器学习和深度学习
Python与C++中梯度方向直方图的实现
JAVA SpringMVC实现自定义拦截器
Mar 16 #Python
Python Pandas 删除列操作
Mar 16 #Python
Python实现批量自动整理文件
Mar 16 #Python
Pandas-DataFrame知识点汇总
Mar 16 #Python
python 安全地删除列表元素的方法
Mar 16 #Python
You might like
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
js查错流程归纳
2012/05/04 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
python基于phantomjs实现导入图片
2016/05/13 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
Python dict的常用方法示例代码
2020/06/23 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
护士自荐信范文
2013/12/15 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
工程项目经理任命书
2014/06/05 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript