999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python繪制標(biāo)準(zhǔn)國(guó)旗

2021-08-25 09:30:13王德貴
電腦報(bào) 2021年26期
關(guān)鍵詞:方向

王德貴

我們?cè)?jīng)用Python繪制了黨旗,也用Scratch繪制過(guò)國(guó)旗。不過(guò)在Python中繪制標(biāo)準(zhǔn)國(guó)旗并不簡(jiǎn)單,我們采用的方法在數(shù)學(xué)上稱為解析法。

一、準(zhǔn)備工作

1.國(guó)旗標(biāo)準(zhǔn)圖案及分析

把整個(gè)國(guó)旗換成直角坐標(biāo)系,中心坐標(biāo)為(0,0)。每個(gè)小格邊長(zhǎng)20,則國(guó)旗左上角坐標(biāo)為(-300,200),國(guó)旗長(zhǎng)600、高400。五星所在的區(qū)域?yàn)榈诙笙蓿瑱M坐標(biāo)為負(fù),縱坐標(biāo)為正。

大五星是正立放置的,而4顆小五星則是頂點(diǎn)中心軸線正對(duì)著大五星的中心,即是大五星中心、小五星中心和小五星頂點(diǎn)在一條直線上,而且上下1、4兩顆和右側(cè)2、3兩顆是關(guān)于第五個(gè)橫格對(duì)稱的。

2.五星的坐標(biāo)及相關(guān)參數(shù)

設(shè)定坐標(biāo)的標(biāo)度為每個(gè)小格20,大五星的中心坐標(biāo)為(-200,100),半徑60,頂點(diǎn)坐標(biāo)為(-200,160)。

小五星的半徑為20。4個(gè)小五星中心坐標(biāo)分別為(-100,160)、(-60,120)、(-60,60)、(-100,20)。

大五星頂點(diǎn)中心正上方,橫向長(zhǎng)度為0,縱向?yàn)?。小五星對(duì)應(yīng)大五星中心相對(duì)橫縱長(zhǎng)度(x,y)分別為(5,3)、(7,1)、(7,-2)、(5,-4)。負(fù)值表示在相對(duì)中心的下方。

3.三角函數(shù)及反三角函數(shù)

小五星的頂點(diǎn)要正對(duì)著大五星的中心,所以需要知道小五星頂點(diǎn)中心軸的方向角。具體算法從略,我在源代碼中做了簡(jiǎn)單的注釋。

二、程序設(shè)計(jì)

1.導(dǎo)入Turtle庫(kù)和Math庫(kù)

Turtle是小海龜繪圖庫(kù),Math是數(shù)學(xué)庫(kù),我們要用到里面的三角函數(shù)和反三角函數(shù),以及圓周率pi值。from導(dǎo)入方法能使程序簡(jiǎn)化一點(diǎn),詳細(xì)作用請(qǐng)參考其他資料。

2.國(guó)旗外圍框

3.大五星

大五星的起始點(diǎn),我們能最準(zhǔn)確得到的,就是上面的頂點(diǎn),坐標(biāo)為(-300,200),其他頂點(diǎn)均不是整數(shù)。這個(gè)頂點(diǎn)要畫五角星,需要向斜下方開始畫,我們使用絕對(duì)角度setheading()設(shè)置小海龜?shù)姆较颉?p>

大五星的直徑為120,頂角為360,綠色直角三角形中,斜邊是直徑,上側(cè)銳角為180(藍(lán)色箭頭所指),所以移動(dòng)的步數(shù)為直角三角形中180角的鄰邊,即120*cos(18*pi/180),這里注意18度角要轉(zhuǎn)換為弧度制,所以要乘以π,除以180。Turtle運(yùn)動(dòng)方向?yàn)閳D中白色箭頭方向。

4.四個(gè)小五星

(1)1號(hào)小五星中心相對(duì)大五星中心,橫x=5格,縱y=3格,那么這個(gè)銳角的正切值tanA=y/x=3/5,數(shù)學(xué)上這個(gè)銳角的大小為arctan3/5,右轉(zhuǎn)18度角,才是白色線用箭頭所指方向。

在Python中有兩個(gè)反正切函數(shù),atan(x)和atan2(y,x),它倆的區(qū)別在于,第一個(gè)函數(shù)只需要一個(gè)參數(shù),比如atan(3/5),而第二個(gè)函數(shù)需要兩個(gè)參數(shù)atan2(3,5)。那么它們的區(qū)別在哪里呢?就是正切函數(shù)的定義域問(wèn)題,90度時(shí),正切值沒(méi)有意義,即atan(3/0)沒(méi)有意義,不能返回90度角度值,而atan2(3,0)能返回90度值。因而我們使用第二個(gè)函數(shù)求解。

由于海龜起始角度很難計(jì)算,因而使用絕對(duì)角度setheading(),這樣就能準(zhǔn)確地計(jì)算海龜?shù)姆较颉?/p>

(2)其他2、3、4號(hào)五星和1號(hào)五星類似,就是起始位置和相對(duì)大五星中心和橫縱長(zhǎng)度不同,因而程序就具有重復(fù)性,我們可以將重復(fù)性的代碼封裝起來(lái),每次畫五星調(diào)用它就可以了,這就是自定義函數(shù)。

5.自定義函數(shù)

畫小五星需要五角星的中心坐標(biāo)、外接圓半徑和所畫五角星相對(duì)大五星中心的橫縱長(zhǎng)度。因而封裝的函數(shù),需要這5個(gè)參數(shù)。

三、整體測(cè)試

1.更新程序并測(cè)試

通過(guò)大五星和1號(hào)小五星調(diào)用自定義函數(shù)進(jìn)行反復(fù)測(cè)試。

2.完成全部代碼

測(cè)試成功后補(bǔ)全其他小五星參數(shù)。設(shè)置速度,可以利用(speed())函數(shù),速度值從 1 到 10,畫線和海龜轉(zhuǎn)向的動(dòng)畫效果逐級(jí)加快。

3.總結(jié)

本以為很簡(jiǎn)單的程序,沒(méi)想到涉及了不少三角函數(shù)的相關(guān)知識(shí),在Turtle坐標(biāo)的定義和高中數(shù)學(xué)是完全一致的。這更有助于學(xué)生的學(xué)習(xí)。

猜你喜歡
方向
2023年組稿方向
方向
青年運(yùn)動(dòng)的方向(節(jié)選)
2022年組稿方向
2022年組稿方向
2021年組稿方向
如何確定位置與方向
2021年組稿方向
2021年組稿方向
大自然中的方向
主站蜘蛛池模板: 国产一区免费在线观看| 成人精品视频一区二区在线 | 久久久久亚洲精品成人网| 人妻精品全国免费视频| 老司国产精品视频91| 亚洲无码电影| 91久久青青草原精品国产| 国内自拍久第一页| 最新精品国偷自产在线| 91欧美亚洲国产五月天| 东京热av无码电影一区二区| 国产在线自乱拍播放| 亚洲大尺码专区影院| 中文无码精品A∨在线观看不卡| 无码有码中文字幕| 高潮毛片免费观看| 精品一區二區久久久久久久網站 | 日本一区二区三区精品视频| 91精选国产大片| 婷婷色狠狠干| 一本大道AV人久久综合| 欧美日韩国产成人在线观看| 日韩大片免费观看视频播放| 欧美天堂在线| 永久天堂网Av| 成人午夜网址| 久青草网站| 自拍偷拍欧美| 色综合日本| 国产午夜福利在线小视频| 国产精品内射视频| 亚洲日韩精品欧美中文字幕| 久久国产精品国产自线拍| 97在线免费| 亚洲欧美不卡中文字幕| 人妻中文字幕无码久久一区| 欧美区日韩区| 国产裸舞福利在线视频合集| 99久久精品国产综合婷婷| 久久美女精品| 久久无码av一区二区三区| 久久国产精品77777| 永久成人无码激情视频免费| 欧美亚洲日韩中文| 免费毛片全部不收费的| 她的性爱视频| 国产精品hd在线播放| 精品偷拍一区二区| 亚洲国产中文欧美在线人成大黄瓜 | 欧美日本在线观看| 亚洲欧美综合精品久久成人网| 真实国产乱子伦视频| www亚洲精品| 欧美午夜在线播放| 波多野结衣无码AV在线| 日本成人福利视频| 国产一区二区福利| 91在线精品麻豆欧美在线| 国产欧美日韩一区二区视频在线| 亚洲午夜片| 亚洲AⅤ无码国产精品| 亚洲成人黄色在线观看| 亚洲无码高清视频在线观看| 欧美精品在线观看视频| 好吊色国产欧美日韩免费观看| 色综合国产| 亚洲二区视频| 天天色天天综合| 性网站在线观看| 亚洲天堂网视频| 国产午夜无码专区喷水| 日本日韩欧美| av在线无码浏览| 青草91视频免费观看| 国产丝袜91| 啪啪永久免费av| 国产成在线观看免费视频| 国产精品伦视频观看免费| 国内熟女少妇一线天| 在线播放国产99re| 亚洲福利视频网址| 国产区精品高清在线观看|