欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python代碼來繪制彭羅斯點陣的教程

 更新時間:2015年04月03日 16:09:38   作者:Jeff Preshing  
這篇文章主要介紹了用Python代碼來繪制彭羅斯點陣的教程,核心代碼主要就是一行簡單的lambda匿名函數(shù),需要的朋友可以參考下

這里是顯示彭羅斯點陣的Python的腳本。是的,這是可以運行的有效Phython代碼。

譯注:彭羅斯點陣,物理學術語。上世紀70年代英國數(shù)學家彭羅斯第一次提出了這個概念,稱為彭羅斯點陣(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立體效應渲染的彭羅斯點陣。這里是該圖像的一部分(點擊放大)。

201543160355517.jpg (531×459)

運行該腳本需要Pycairo。它只在Python它是標準的Python腳本,但我努力想把它變得更簡潔,于是我又從中刪減了一些。

編注:Pycairo是一組Python版本的Cario圖形庫。

彭羅斯點陣很酷,因為它們非周期性地覆蓋了整個平面——圖片的轉換副本與原型從來不會一致。它們是由Roger Penrose先生通過將五邊形的平面平鋪在一起的一系列嘗試而發(fā)明的。

與C或Perl相比,Python并不是讓人迷惑的編程語言。這種比較似乎也從未發(fā)生,而且在網(wǎng)上也沒有多少讓人費解的Python的例子:你可以在官方的Python常見問題中或各種網(wǎng)頁如這里和這里找到一些例子。在2011年的PyCon對此還有專題討論。

我相信輸出一個高分辨率的圖像是第一個讓人費解的Python程序。如果你知道其它的例子,可以在評論中告訴我。

相關文章

  • Python Selenium Cookie 繞過驗證碼實現(xiàn)登錄示例代碼

    Python Selenium Cookie 繞過驗證碼實現(xiàn)登錄示例代碼

    這篇文章主要介紹了Python Selenium Cookie 繞過驗證碼實現(xiàn)登錄示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • opencv之為圖像添加邊界的方法示例

    opencv之為圖像添加邊界的方法示例

    這篇文章主要介紹了opencv之為圖像添加邊界的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 利用python匯總統(tǒng)計多張Excel

    利用python匯總統(tǒng)計多張Excel

    這篇文章主要介紹了利用python匯總統(tǒng)計多張Excel,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-09-09
  • python pandas分組聚合詳細

    python pandas分組聚合詳細

    分組聚合是數(shù)據(jù)處理中常見的場景,在pandas中用groupby方法實現(xiàn)分組操作,用agg方法實現(xiàn)聚合操作,在這篇文章里有主要介紹,感興趣的朋友請參考下文
    2021-09-09
  • 使用Python串口實時顯示數(shù)據(jù)并繪圖的例子

    使用Python串口實時顯示數(shù)據(jù)并繪圖的例子

    今天小編就為大家分享一篇使用Python串口實時顯示數(shù)據(jù)并繪圖的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python使用selenium操作瀏覽器的實現(xiàn)示例

    python使用selenium操作瀏覽器的實現(xiàn)示例

    Selenium是一個模擬瀏覽器瀏覽網(wǎng)頁的工具,主要用于測試網(wǎng)站的自動化測試工具,本文主要介紹了python使用selenium操作瀏覽器的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    這篇文章主要給大家介紹了關于利用python操作SQLite數(shù)據(jù)庫及文件操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • 用Python調(diào)用win命令行提高工作效率的實例

    用Python調(diào)用win命令行提高工作效率的實例

    今天小編就為大家分享一篇用Python調(diào)用win命令行提高工作效率的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 淺談keras中的后端backend及其相關函數(shù)(K.prod,K.cast)

    淺談keras中的后端backend及其相關函數(shù)(K.prod,K.cast)

    這篇文章主要介紹了淺談keras中的后端backend及其相關函數(shù)(K.prod,K.cast),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中pandas.DataFrame排除特定行方法示例

    python中pandas.DataFrame排除特定行方法示例

    這篇文章主要給大家介紹了關于python中pandas.DataFrame排除特定行的方法,文中給出了詳細的示例代碼,相信對大家的理解和學習具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03

最新評論