python画图星空_编程从绘画开始:用Python画一幅《月夜星空》图

学会编程的最大好处,是可以实现自己的想象力,下面打算讲讲怎样用Python来画画。

这次使用自顶向下的思路,来讲讲这幅《月夜星空》是怎样画的。

细节的分层实现

从内容来说,分为三步:第一步设定所用到的颜色,第二步画天,第三步画地。

画天又分为三步:画天空、画星星、画月亮。

画天空:就是一个天空颜色(color_sky)的矩形而已。

画星星:

就是100个位置随机,星星颜色(color_star)的小圆。

画月亮:

你想到月亮是怎么画的了么?先用月亮颜色(color_moon)画一个圆,然后在旁边叠加的地方,再用天空颜色画一个圆,于是就留下了一个月牙。

画地只有两步:画地面、画房子。

画地面:地面和天空都是简单的矩形,只是位置不同,颜色为地面颜色(color_ground)。

画房子:一个横排宽度600,每个房子的宽度是固定的60个像素,一共10个房子,而高度是随机的。对于一个具体的房子来说:

就是在一个相对深色(color_building)的矩形楼体上,整齐地用亮色(color_window)画若干的窗口而已。

组装

功能实现到这里,所有的绘画细节都完成了。我们看到,通过自顶向下的分析,每个局部的功能函数,都比较简短,没有一个超过10行。便于我们我们集中精力编写、测试。

最后,我们把它放到窗口中即可。

是不是也很简短呢?一幅艺术作品就完成了。

上面这幅画,从作图功能的角度来看其实只用到了两个基本作图功能:画矩形和画圆。

这里用的Tkinter,这是python自带的窗口编程库,功能还是比较简洁的。下次会介绍一个更加好用的第三方窗口编程库simpleGUI。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值