这里是显示彭罗斯点阵的Python的脚本。是的,这是可以运行的有效Phython代码。
译注:彭罗斯点阵,物理学术语。上世纪70年代英国数学家彭罗斯第一次提出了这个概念,称为彭罗斯点阵(Pen-rose tiles)。
_ =\ """if! 1:"e,V=100 0,(0j-1)**-.2; v,S=.5/ V.real, [(0,0,4 *e,4*e* V)];w=1 -v"def! E(T,A, B,C):P ,Q,R=B*w+ A*v,B*w+C *v,A*w+B*v;retur n[(1,Q,C,A),(1,P ,Q,B),(0,Q,P,A)]*T+[(0,C ,R,B),(1,R,C,A)]*(1-T)"f or!i!in!_[:11]:S =sum([E (*x)for !x!in!S],[])"imp ort!cair o!as!O; s=O.Ima geSurfac e(1,e,e) ;c=O.Con text(s); M,L,G=c. move_to ,c.line_to,c.s et_sour ce_rgb a"def!z(f,a) :f(-a. imag,a. real-e-e)"for!T,A,B,C!in[i !for!i! in!S!if!i[""";exec(reduce(lambda x,i:x.replace(chr (i),"\n "[34-i:]), range( 35),_+"""0]]:z(M,A );z(L,B);z (L,C); c.close_pa th()"G (.4,.3 ,1);c. paint( );G(.7 ,.7,1) ;c.fil l()"fo r!i!in !range (9):"! g=1-i/ 8;d=i/ 4*g;G(d,d,d, 1-g*.8 )"!def !y(f,a):z(f,a+(1+2j)*( 1j**(i /2.))*g)"!for!T,A,B,C!in!S:y(M,C);y(L,A);y(M ,A);y(L,B)"!c.st roke()"s.write_t o_png('pen rose.png') """ ))
当这个程序运行时,它输出了一个1000×1000的图像文件,包含大约2212个由3D立体效应渲染的彭罗斯点阵。这里是该图像的一部分(点击放大)。
运行该脚本需要Pycairo。它只在Python它是标准的Python脚本,但我努力想把它变得更简洁,于是我又从中删减了一些。
编注:Pycairo是一组Python版本的Cario图形库。
彭罗斯点阵很酷,因为它们非周期性地覆盖了整个平面——图片的转换副本与原型从来不会一致。它们是由Roger Penrose先生通过将五边形的平面平铺在一起的一系列尝试而发明的。
与C或Perl相比,Python并不是让人迷惑的编程语言。这种比较似乎也从未发生,而且在网上也没有多少让人费解的Python的例子:你可以在官方的Python常见问题中或各种网页如这里和这里找到一些例子。在2011年的PyCon对此还有专题讨论。
我相信输出一个高分辨率的图像是第一个让人费解的Python程序。如果你知道其它的例子,可以在评论中告诉我。
本文向大家介绍python+matplotlib绘制饼图散点图实例代码,包括了python+matplotlib绘制饼图散点图实例代码的使用技巧和注意事项,需要的朋友参考一下 本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下。 首先看下演示效果 实例代码: 总结 以上就是本文关于python+matplot
本文向大家介绍python绘制高斯曲线,包括了python绘制高斯曲线的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python绘制高斯曲线的具体代码,供大家参考,具体内容如下 源码: 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍PYTHON绘制雷达图代码实例,包括了PYTHON绘制雷达图代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、雷达图 结果: 2、实例2 结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
我必须从普罗米修斯指标创建可视化。我有一个计数器指标,我想显示一天中服务的总请求的摘要。当我们把石墨作为数据源时,我就是这样做的。 我看了一些文档,并尝试使用绘制了带有值的图表。 有人能帮我在普罗米修斯中找到一个等效的函数吗?
本文向大家介绍Python绘制七段数码管实例代码,包括了Python绘制七段数码管实例代码的使用技巧和注意事项,需要的朋友参考一下 七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置 绘制模式: input:输入当前日期的数字形式 process:根据每个数字绘制七段数码管表示 output:绘制当前日期的
本文向大家介绍用Python编写一个简单的俄罗斯方块游戏的教程,包括了用Python编写一个简单的俄罗斯方块游戏的教程的使用技巧和注意事项,需要的朋友参考一下 俄罗斯方块游戏,使用Python实现,总共有350+行代码,实现了俄罗斯方块游戏的基本功能,同时会记录所花费时间,消去的总行数,所得的总分,还包括一个排行榜,可以查看最高记录。 排行榜中包含一系列的统计功能,如单位时间消去的行数,单位时间得