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解析XML的几种常见方法的介绍
Apr 09 Python
Python标准库之Sys模块使用详解
May 23 Python
分析python切片原理和方法
Dec 19 Python
python config文件的读写操作示例
Sep 27 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
linux 下selenium chrome使用详解
Apr 02 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
基于python实现上传文件到OSS代码实例
May 09 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
python3使用diagrams绘制架构图的步骤
Apr 08 Python
再谈python_tkinter弹出对话框创建
Mar 20 Python
使用Django框架创建项目
Jun 10 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
php的dl函数用法实例
2014/11/06 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
基于python实现把图片转换成素描
2019/11/13 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
六月份红领巾广播稿
2014/02/03 职场文书
药品促销活动方案
2014/02/14 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
要账委托书范本
2014/09/15 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
Django中session进行权限管理的使用
2021/07/09 Python