python画图星空_编程从绘画开始:用Python画一幅《月夜星空》图
学会编程的最大好处,是可以实现自己的想象力,下面打算讲讲怎样用Python来画画。
这次使用自顶向下的思路,来讲讲这幅《月夜星空》是怎样画的。
细节的分层实现
从内容来说,分为三步:第一步设定所用到的颜色,第二步画天,第三步画地。
画天又分为三步:画天空、画星星、画月亮。
画天空:就是一个天空颜色(color_sky)的矩形而已。
画星星:
就是100个位置随机,星星颜色(color_star)的小圆。
画月亮:
你想到月亮是怎么画的了么?先用月亮颜色(color_moon)画一个圆,然后在旁边叠加的地方,再用天空颜色画一个圆,于是就留下了一个月牙。
画地只有两步:画地面、画房子。
画地面:地面和天空都是简单的矩形,只是位置不同,颜色为地面颜色(color_ground)。
画房子:一个横排宽度600,每个房子的宽度是固定的60个像素,一共10个房子,而高度是随机的。对于一个具体的房子来说:
就是在一个相对深色(color_building)的矩形楼体上,整齐地用亮色(color_window)画若干的窗口而已。
组装
功能实现到这里,所有的绘画细节都完成了。我们看到,通过自顶向下的分析,每个局部的功能函数,都比较简短,没有一个超过10行。便于我们我们集中精力编写、测试。
最后,我们把它放到窗口中即可。
是不是也很简短呢?一幅艺术作品就完成了。
上面这幅画,从作图功能的角度来看其实只用到了两个基本作图功能:画矩形和画圆。
这里用的Tkinter,这是python自带的窗口编程库,功能还是比较简洁的。下次会介绍一个更加好用的第三方窗口编程库simpleGUI。
python画图星空_编程从绘画开始:用Python画一幅《月夜星空》图相关推荐
- python 基础代谢率计算器_编程 - 实现简单功能:Python
1. 52周存钱挑战1 import math 2 import datetime 3 4 5 def save_money_in_n_weeks(money_per_week, increase ...
- Python灰帽子_黑客与逆向工程师的Python编程之道
收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道
- python绘制星空图、要求有圆月_编程从绘画开始:用Python画一幅《月夜星空》图...
学会编程的最大好处,是可以实现自己的想象力,下面打算讲讲怎样用Python来画画. 这次使用自顶向下的思路,来讲讲这幅<月夜星空>是怎样画的. 细节的分层实现 从内容来说,分为三步:第一步 ...
- 在屏幕上输出你好的python语句是_编程实现:在屏幕上输出中文字符“你好,世界”。(输出结果中不带双引号)_学小易找答案...
[填空题]借战死者诉说战争灾难的汉乐府诗是( ). [判断题]15 的倍数有 15 . 30 . 45 . ( ) [填空题]表现贫民意欲反抗的汉乐府诗是( ). [判断题]不可以在同一台计算机上安装 ...
- python画图模块_学习python画图模块plotnine:第一步安装
官网链接 https://plotnine.readthedocs.io/en/stable/index.html 知乎介绍的文章 https://zhuanlan.zhihu.com/p/47814 ...
- 最简单的python语言程序设计_编程中最简单的语言Python,这样学或许更容易
最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...
- python 面试问题_值得阅读的30个Python面试问题
python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...
- python老师武_跟着廖雪峰老师学python (5)
若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站 python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...
- python cookbook 豆瓣_备受好评的20本python图书,不用到处找了!
闲来无事,用豆瓣API爬取了豆瓣上的Python图书,筛选了评分人数>80的书,按照评分高低排序,删除了些中英文版本重复的书,整理出了下面这张最受好评的20本Python图书榜单. No.1 F ...
- 怎么学python知乎_你们都是怎么学 Python 的?
自学确实是比较难得,没有一个好的规划,好的学习路线图,你不会知道自己下一步该怎么办. 今天我就帮你来解决,分享2020年黑马程序员Python学习路线图,包含学习路线图,学习视频,学习工具,你都可以找 ...
最新文章
- OpenCV代码提取:遍历指定目录下指定文件的实现
- 构造函数中,成员变量一定要通过初始化列表来初始化的几种情况(转载)
- 阮一峰react demo代码研究的学习笔记 - ReactMount.render
- php注释验证,注解验证 · ThinkPHP6.0完全开发手册 · 看云
- because it is not a variable 编译错误解决方案
- C# 显式接口成员实现
- java中无法推断类型参数_Java中的推断异常
- CodeForces 696B Puzzles
- java map集合排序的_Java对Map集合进行排序
- mysql 5.6.30 编译_编译安装mysql 5.6.30
- python内置函数map_python内置函数 map/reduce
- Python No Module name cv2解决方案
- C#删掉了发给lua的对象造成lua实际的Obj无效,解决办法
- 网络安全实验四 防火墙技术的具体应用
- golang接口与反射剖析
- 为什么计算机打开u盘这么慢,电脑读取u盘文件速度慢
- NumPy 取消科学计数法:np.set_printoptions(suppress=True)
- 高德,微信公众号,企业微信获取定位
- 现在web前端主要做什么工作
- 扫描二维码启动微信打开特定页面