最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+Turtle實(shí)現(xiàn)繪制勾股樹

 更新時間:2023年01月05日 15:13:50   作者:Leleprogrammer  
畢達(dá)哥拉斯樹,也叫“勾股樹”,是由畢達(dá)哥拉斯根據(jù)勾股定理所畫出來的一個可以無限重復(fù)的樹形圖形。本文將利用Python中的Turtle庫實(shí)現(xiàn)勾股樹的繪制,感興趣的可以了解一下

這次,我們用Turtle模塊結(jié)合三角函數(shù),繪制出這樣的勾股樹:

首先,導(dǎo)入模塊

from turtle import *
from math import sin,cos,radians

定義勾股數(shù)每次旋轉(zhuǎn)的度數(shù)

angle1=70
angle2=90-angle1

定義tree函數(shù),繪制正方形并記錄要生成的新的正方形的坐標(biāo),計算出新的正方形的度數(shù)和邊長并繪制,這里采用遞歸的方式

ln表示邊長,mode表示當(dāng)前正方形是在前一個正方形的左邊或右邊,h表示朝向,p表示坐標(biāo)

def tree(ln,mode="left",h=90,p=(0,0)):
    pu()
    seth(h)
    goto(p)
    if ln>1:
        pd()
        for i in range(4):
            if i==1 and mode=="left":
                pos1=pos()
            if i==2 and mode=="left":
                pos2=pos()
            if i==2 and mode=="right":
                pos1=pos()
            if i==3 and mode=="right":
                pos2=pos()
            fd(ln)
            right(90)
        h=heading()
        tree(ln*cos(radians(angle1)),"left",h+angle1 if mode=="left" else h-angle1,pos1)
        tree(ln*cos(radians(angle2)),"right",h+90-angle2 if mode=="left" else h-angle2,pos2) 

在主程序中設(shè)置速度,因?yàn)檫f歸很占內(nèi)存,所以繪制速度會卡頓減緩,所以這里加速1000倍,設(shè)置無延遲,筆觸顏色為綠色,筆觸大小2,抬筆,設(shè)置方向,并開始遞歸,最后隱藏畫布并保持窗口顯示

speed(0)
tracer(1000)
delay(0)
color("green")
pensize(2)
pu()
seth(90)
tree(70,p=(-100,-300))
 
ht()
done()

最終代碼:

from turtle import *
from math import sin,cos,radians
 
angle1=45 # 自行修改
angle2=90-angle1
 
def tree(ln,mode="left",h=90,p=(0,0)):
    pu()
    seth(h)
    goto(p)
    if ln>1:
        pd()
        for i in range(4):
            if i==1 and mode=="left":
                pos1=pos()
            if i==2 and mode=="left":
                pos2=pos()
            if i==2 and mode=="right":
                pos1=pos()
            if i==3 and mode=="right":
                pos2=pos()
            fd(ln)
            right(90)
        h=heading()
        tree(ln*cos(radians(angle1)),"left",h+angle1 if mode=="left" else h-angle1,pos1)
        tree(ln*cos(radians(angle2)),"right",h+90-angle2 if mode=="left" else h-angle2,pos2)
 
speed(0)
tracer(1000)
delay(0)
color("green")
pensize(2)
pu()
seth(90)
tree(70,p=(-100,-300))
 
ht()
done()

到此這篇關(guān)于Python+Turtle實(shí)現(xiàn)繪制勾股樹的文章就介紹到這了,更多相關(guān)Python Turtle勾股樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django 自定義過濾器的實(shí)現(xiàn)

    django 自定義過濾器的實(shí)現(xiàn)

    這篇文章主要介紹了django 自定義過濾器的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Webots下載安裝?+?Pycharm聯(lián)調(diào)使用教程

    Webots下載安裝?+?Pycharm聯(lián)調(diào)使用教程

    Webots是一個開源的三維移動機(jī)器人模擬器,它最初是作為研究移動機(jī)器人中各種控制算法的研究工具開發(fā)的,自2018年12月起,Webots作為開源軟件發(fā)布,并獲得Apache 2.0許可證,這篇文章主要介紹了Webots下載安裝?+?Pycharm聯(lián)調(diào)?,需要的朋友可以參考下
    2023-02-02
  • pytorch 限制GPU使用效率詳解(計算效率)

    pytorch 限制GPU使用效率詳解(計算效率)

    這篇文章主要介紹了pytorch 限制GPU使用效率詳解(計算效率),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python語言基本語句用法總結(jié)

    python語言基本語句用法總結(jié)

    在本篇文章里小編給大家整理了關(guān)于python語言基本語句的相關(guān)知識點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-06-06
  • 關(guān)于numpy.concatenate()函數(shù)的使用及說明

    關(guān)于numpy.concatenate()函數(shù)的使用及說明

    這篇文章主要介紹了關(guān)于numpy.concatenate()函數(shù)的使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • OpenCV-Python?對圖像的基本操作代碼

    OpenCV-Python?對圖像的基本操作代碼

    這篇文章主要介紹了OpenCV-Python?對圖像的基本操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Django admin美化插件suit使用示例

    Django admin美化插件suit使用示例

    這篇文章主要介紹了Django admin美化插件suit使用示例,簡單介紹了suit的使用界面示例,官方文檔,安裝語句等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法示例

    Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法,結(jié)合實(shí)例形式分析了Python文件與目錄操作相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2019-06-06
  • Python中__del__方法的使用方法詳細(xì)解析

    Python中__del__方法的使用方法詳細(xì)解析

    __del__()稱為“析構(gòu)方法”,用于實(shí)現(xiàn)對象被銷毀時所需的操作,下面這篇文章主要給大家介紹了關(guān)于Python中__del__方法的使用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • python斐波那契數(shù)列的計算方法

    python斐波那契數(shù)列的計算方法

    這篇文章主要為大家詳細(xì)介紹了python斐波那契數(shù)列的計算方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評論

翼城县| 涿鹿县| 松江区| 安塞县| 盱眙县| 沐川县| 平舆县| 平罗县| 香河县| 会东县| 永新县| 浦东新区| 应用必备| 平江县| 大渡口区| 香港| 凤城市| 化隆| 濮阳县| 公安县| 平远县| 崇信县| 双峰县| 高雄县| 大石桥市| 永定县| 常宁市| 和平县| 寻乌县| 颍上县| 剑阁县| 罗山县| 将乐县| 富锦市| 乐平市| 禄丰县| 聊城市| 安庆市| 东港市| 南靖县| 香格里拉县|