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

Python中Turtle庫改變畫筆(海龜)方向的兩種方法總結(jié)

 更新時間:2022年11月23日 08:44:31   作者:BugShowMaker  
turtle庫是python標準庫之一,入門級繪圖庫,import turtle之后即可使用,下面這篇文章主要給大家介紹了關(guān)于Python中Turtle庫改變畫筆(海龜)方向的兩種方法,需要的朋友可以參考下

引言:

本文是學習Turtle庫時,發(fā)現(xiàn)兩種方法都能改變畫筆的方向,但二者又不是完全相同,故對其加以辨析總結(jié)到此,在本文你將收獲:

1.兩種改變畫筆方向的方法

2.矩形的繪制,等邊三角形的繪制

3.兩種方法的辨析 

使用left right改變畫筆方向

默認畫筆的方向是向右,使用以下代碼就能發(fā)現(xiàn)

import turtle
turtle.forward(100)
turtle.mainloop()

要是我們想改變方向呢?

turtle.left(angle)

turtle.lt(angle)

turtle.right(angle)

turtle.rt(angle)

在turtle庫中提供了簡寫的方法 幾乎每種方法都有更簡單的等效寫法

在上面的兩個方法中,傳入的參數(shù)是整數(shù)和浮點數(shù)

單位默認為角度但可以通過degrees() 和 radians() 函數(shù)改變設(shè)置

import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.mainloop()

 更簡單的寫法

from turtle import *
for i in range(4):
    fd(100)
    lt(90)
mainloop()

使用setheading改變畫筆方向

 依舊使用官方文檔

turtle.setheading(to_angle)

turtle.seth(to_angle)

to_angle是要到的那個角度,與angle一樣傳入整數(shù)或者浮點數(shù),使用seth或者setheading相當于在坐標系操作,角度是固定

  后面會詳細講解

如果我們把left改為Sethheading 結(jié)果會是怎樣的呢?

from turtle import *
for i in range(4):
    fd(100)
    seth(90)
mainloop()

 最終變成了這樣 

就兩種結(jié)果的比較來看。Setheading繪制的矩形的時候,本應(yīng)該讓他轉(zhuǎn)彎的命令讓他停到了原地.

這是為什么呢?讓我們再回到官方文檔:

在setheading修改方向時,每一個角度是一個確切的方向,90度就是以畫筆位置為坐標原點的北方,還記得傳入的參數(shù)名字是什么嗎?to_angle == 要到達的角度  在我們用sethading畫矩形的例子中,每一次循環(huán)都是將烏龜指向北方前進100,所以才出現(xiàn)了意想不到結(jié)果。

 二者的區(qū)別到底是什么呢?

如果一定要我舉一個生活中的例子,我想指南針(sethheading)和我們集合時的向左(left)向右(right)轉(zhuǎn)能在一定程度上說明他們的區(qū)別

向左向右轉(zhuǎn)參考的是我們本身的位置,指南針指向的是永遠不變的南方

指南針的南方是根據(jù)磁場劃分的,setheading的南方是根據(jù)角度劃分的

向右轉(zhuǎn)是根據(jù)我們的右邊和左邊轉(zhuǎn)的,left/right是根據(jù)我們的畫筆(箭頭)的左右劃分的

 如果你不喜歡這種不是很嚴謹?shù)念惐?,那讓我們從更為嚴謹?shù)慕嵌热ヌ接懸幌逻@個問題

        setheading是以畫筆位置為坐標原點,建立直角坐標系

        left是以畫筆位置為原點建立極坐標系

三角實例

讓我們從實例出發(fā)了解一下這個問題:繪制一個三角形

畫一個三角形可以有很多種方法,如果我們想通過這個例子探討兩個改變方法的異同,我們需要做的是讓變量相對來說更少:

1.我們的起點要相同

2.我們繪制的流程要相同

3.我們使用的不同之處應(yīng)該只有改變方向時使用的方法

繪制流程:

1.從默認原點前進100

2.朝左方旋轉(zhuǎn)前進100

3.朝左下旋轉(zhuǎn)前進100

代碼如下:

from turtle import *
//第一種方法
fd(100)
left(120)
fd(100)
left(120)
fd(100)
//第二種方法
fd(100)
setheading(120)
fd(100)
setheading(240)
fd(100)

 第一種方法在頂點位置時旋轉(zhuǎn)角度

第二種方法在頂點旋轉(zhuǎn)角度

總結(jié) 

到此這篇關(guān)于Python中Turtle庫改變畫筆(海龜)方向的兩種方法的文章就介紹到這了,更多相關(guān)Python Turtle庫改畫筆方向內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django開發(fā)中使用Ueditor上傳圖片遇到的坑及解決

    Django開發(fā)中使用Ueditor上傳圖片遇到的坑及解決

    在Django開發(fā)中使用Ueditor上傳圖片時,可能會遇到后端配置不正確的問題,建議在實例化Ueditor后加上serverUrl,這可以在Chrome的F12工具中查看請求的后端配置項,此外,如果需要修改上傳路徑,可以在配置文件中更改路徑,并調(diào)整view.py中的代碼來管理上傳文件
    2024-09-09
  • 使用Python統(tǒng)計相同像素值個數(shù)

    使用Python統(tǒng)計相同像素值個數(shù)

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)統(tǒng)計相同像素值個數(shù),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • 解決python 自動安裝缺少模塊的問題

    解決python 自動安裝缺少模塊的問題

    今天小編就為大家分享一篇解決python 自動安裝缺少模塊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python IDLE清空窗口的實例

    Python IDLE清空窗口的實例

    今天小編就為大家分享一篇Python IDLE清空窗口的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python?OpenCV?Canny邊緣檢測算法的原理實現(xiàn)詳解

    Python?OpenCV?Canny邊緣檢測算法的原理實現(xiàn)詳解

    這篇文章主要介紹了Python?OpenCV?Canny邊緣檢測算法的原理實現(xiàn)詳解,由于邊緣檢測對噪聲敏感,因此對圖像應(yīng)用高斯平滑以幫助減少噪聲,具體詳情需要的小伙伴可以參考一下
    2022-07-07
  • Python中的struct.unpack示例詳解

    Python中的struct.unpack示例詳解

    在Python中,struct.unpack是一個函數(shù),用于將字節(jié)串轉(zhuǎn)換為元組,這個函數(shù)在處理二進制數(shù)據(jù)時非常有用,這篇文章主要介紹了Python中的struct.unpack示例詳解,需要的朋友可以參考下
    2023-12-12
  • 解決pytorch rnn 變長輸入序列的問題

    解決pytorch rnn 變長輸入序列的問題

    這篇文章主要介紹了解決pytorch rnn 變長輸入序列的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python之ImportError:模塊引入異常問題

    python之ImportError:模塊引入異常問題

    這篇文章主要介紹了python之ImportError:模塊引入異常問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 利用python在Word文檔中創(chuàng)建和執(zhí)行條件郵件合并

    利用python在Word文檔中創(chuàng)建和執(zhí)行條件郵件合并

    郵件合并域和IF域是Word文檔中兩種非常實用的域,前者可以用來進行郵件合并,根據(jù)數(shù)據(jù)批量創(chuàng)建定制的Word文檔,本文講介紹如何使用Python在Word文檔中創(chuàng)建條件郵件合并域以及執(zhí)行條件郵件合并,需要的朋友可以參考下
    2024-08-08
  • Django框架使用富文本編輯器Uedit的方法分析

    Django框架使用富文本編輯器Uedit的方法分析

    這篇文章主要介紹了Django框架使用富文本編輯器Uedit的方法,結(jié)合實例形式分析了Django框架中使用Uedit的安裝、配置方法及Uedit相關(guān)插件制作方法,需要的朋友可以參考下
    2018-07-07

最新評論

永胜县| 绥芬河市| 武宣县| 田东县| 石林| 江达县| 凌云县| 吉水县| 兴安盟| 德保县| 兴国县| 万源市| 芒康县| 新绛县| 富民县| 健康| 洛川县| 普定县| 青铜峡市| 团风县| 财经| 甘孜县| 盱眙县| 梁山县| 神农架林区| 高阳县| 潍坊市| 洪雅县| 汉阴县| 彝良县| 襄樊市| 西藏| 碌曲县| 榆中县| 上栗县| 绍兴市| 莎车县| 定边县| 聂荣县| 公安县| 宜兰县|