python畫(huà)多邊形函數(shù) python畫(huà)多角形

總結(jié)用python繪制正多邊形的規(guī)律?

如果能夠找到規(guī)律,可以讓代碼變得更簡(jiǎn)單。上述代碼中其實(shí)就是調(diào)用circle()函數(shù)四次,每次傳入?yún)?shù)不同而已。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出朝陽(yáng)免費(fèi)做網(wǎng)站回饋大家。

我們可以加入循環(huán),循環(huán)就是重復(fù)不停地做相同的事情;再找到循環(huán)變量和畫(huà)圓參數(shù)之間的規(guī)律即可。

第一個(gè)圓的半徑為50,每次按15的節(jié)奏遞減,直到繪制完半徑為5的圓。這樣就可以使用range()函數(shù),傳入如下參數(shù):range(50,0,-15)。

或者由小到大繪制,傳入這樣的參數(shù)也可以:range(5,51,15)。

還可以這樣:循環(huán)四次,循環(huán)變量i依次為0、1、2、3,再在繪制圓的過(guò)程中構(gòu)造遞減的表達(dá)式:100/2-i*15。

分析這個(gè)表達(dá)式,當(dāng)i等于0時(shí),結(jié)果為50,繪制半徑為50的圓;當(dāng)i等于1時(shí),結(jié)果為35,繪制半徑為35的圓……正好符合題目要求的參數(shù)值。

【擴(kuò)展】思考如何繪制以坐標(biāo)原點(diǎn)為中心的同心圓呢?

仔細(xì)觀察畫(huà)筆繪制圓的軌跡,可發(fā)現(xiàn):默認(rèn)小海龜從坐標(biāo)原點(diǎn)出發(fā),逆時(shí)針旋轉(zhuǎn)一圈畫(huà)圓;然后,再回到起始點(diǎn)。

所以,繪制同心圓。我們需要將畫(huà)筆向下移動(dòng)一定的距離,即改變y的坐標(biāo),x坐標(biāo)保持不變?yōu)?。參考代碼如下:

循環(huán)體內(nèi),每次需要抬筆和落筆功能。

02

案例二:繪制一個(gè)正多邊形

繪制正多邊形有這樣一個(gè)結(jié)論:用360°去除以繪制的邊數(shù),即可得到旋轉(zhuǎn)角度。

比如:正三角形的旋轉(zhuǎn)角度(360/3=120°)、正四邊形的旋轉(zhuǎn)角度(360/4=90°)、正八邊形的旋轉(zhuǎn)角度(360/8=45°)。其他以此類(lèi)推。

那么,我們要繪制一個(gè)正八邊形呢?

使用循環(huán)結(jié)構(gòu),循環(huán)八次。每次前移一定距離,再旋轉(zhuǎn)(360/邊數(shù))的角度,這里旋轉(zhuǎn)的就是45°角。參考代碼如下:

有了這樣的結(jié)論,其他的正多邊形都可以信手拈來(lái),小菜一碟了。只需要稍微改幾個(gè)參數(shù)即可。

03

案例三:繪制由多種顏色組成的正螺旋線

比如,這樣的圖形:

這是由八種顏色組成的正八邊形螺旋線結(jié)構(gòu)圖,顏色依次為:紅(red)、綠(green)、藍(lán)(blue)、黃(yellow)、紫(purple)、橙(orange)、黑(black)、粉(pink)等八種。

繪制思路:

首先,需要?jiǎng)?chuàng)建一個(gè)顏色列表list,含有八種顏色元素。

第二,前移一定距離,這個(gè)距離值是由小到大逐級(jí)遞增的過(guò)程。

第三,旋轉(zhuǎn)一定角度,可參照案例二的結(jié)論。

最后,考慮畫(huà)筆的顏色,每8次(邊數(shù))為一個(gè)周期循環(huán)顏色列表。

參考代碼如下:

其他的正螺旋線,也是如此規(guī)律。

【擴(kuò)展】如果是有一定旋轉(zhuǎn)角度的螺旋線呢?比如,這樣的圖形:

解題思路:只需要在正螺旋線的基礎(chǔ)上,讓旋轉(zhuǎn)角度多偏移1-2°即可。修改上述案例中最后一行的代碼:

求教python中的turtle

簡(jiǎn)介:turtle是一個(gè)簡(jiǎn)單的繪圖工具。它提供了一個(gè)海龜,你可以把它理解為一個(gè)機(jī)器人,只聽(tīng)得懂有限的指令。

1.在文件頭寫(xiě)上如下行,這能讓我們?cè)谡Z(yǔ)句中插入中文

#-*- coding: utf-8 -*-

2.用import turtle導(dǎo)入turtle庫(kù)

3.繪圖窗口的原點(diǎn)(0,0)在正中間。默認(rèn)情況下,海龜向正右方移動(dòng)。

4.操縱海龜繪圖有著許多的命令,這些命令可以劃分為兩種:一種為運(yùn)動(dòng)命令,一種為畫(huà)筆控制命令

(1)運(yùn)動(dòng)命令:

forward(d)

向前移動(dòng)距離d代表距離

backward(d)

向后移動(dòng)距離d代表距離

right(degree)

向右轉(zhuǎn)動(dòng)多少度

left(degree)

向左轉(zhuǎn)動(dòng)多少度

goto(x,y)

將畫(huà)筆移動(dòng)到坐標(biāo)為(x,y)的位置

stamp()

繪制當(dāng)前圖形

speed(speed)

畫(huà)筆繪制的速度范圍[0,10]整數(shù)

(2)畫(huà)筆控制命令:

down()

畫(huà)筆落下,移動(dòng)時(shí)繪制圖形

up()

畫(huà)筆抬起,移動(dòng)時(shí)不繪制圖形

setheading(degree)

海龜朝向,degree代表角度

reset()

恢復(fù)所有設(shè)置

pensize(width)

畫(huà)筆的寬度

pencolor(colorstring)

畫(huà)筆的顏色

fillcolor(colorstring)

繪制圖形的填充顏色

fill(Ture)

fill(False)

circle(radius, extent)

繪制一個(gè)圓形,其中radius為半徑,extent為度數(shù),例如若extent為180,則畫(huà)一個(gè)半圓;如要畫(huà)一個(gè)圓形,可不必寫(xiě)第二個(gè)參數(shù)

5.幾個(gè)例子

1)畫(huà)一個(gè)邊長(zhǎng)為60的三角形

#-*- coding: utf-8 -*-

importturtle

a=60

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

2)畫(huà)一個(gè)邊長(zhǎng)為60的正方形,并填充為紅色,邊框?yàn)樗{(lán)色

#-*- coding: utf-8 -*-

importturtle

turtle.reset()

a= 60

turtle.fillcolor("red")

turtle.pencolor("blue")

turtle.pensize(10)

turtle.fill(True)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.fill(False)

6.練習(xí):

1)畫(huà)一個(gè)五邊形

2)畫(huà)一個(gè)六邊形

3)任意輸入一個(gè)正整數(shù)m(=3),畫(huà)一個(gè)多邊形(m條邊)

4)畫(huà)一個(gè)五角星,如下所示,注意填充為紅色

5)畫(huà)一個(gè)中國(guó)象棋棋盤(pán),如下圖所示,其中漢字不必顯示出來(lái):

6)繪制奧運(yùn)五環(huán)圖,其中五種顏色分別為藍(lán)色、黑色、紅色、黃色和綠色。注意根據(jù)實(shí)際效果調(diào)整圓形的大小和位置。

python matplotlib 怎么多邊形形

python matplotlib 怎么多邊形形

y軸默認(rèn)會(huì)有數(shù)值,你是需要自定義嗎

可以使用yticks函數(shù),第一個(gè)參數(shù)是y軸的位置,第二個(gè)參數(shù)是具體標(biāo)簽

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(0,6)

y = x * x

plt.plot(x, y, marker='o')

plt.yticks(y, ['a','b','c','d','e','f'])

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(0,6)

y = x * x

plt.plot(x, y, marker='o')

for xy in zip(x,y):

plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20,10), textcoords = 'offset points')

python繪圖小結(jié)(2)

#例題1繪制一個(gè)四葉草

import turtle

turtle.color("green","green")

turtle.setheading(90)

turtle.begin_fill()

for i in range(4):

turtle.circle(-100,180)

turtle.left(90)

turtle.end_fill()

turtle.done()

#例題2繪制一個(gè)四角星

import turtle

turtle.color("yellow","yellow")

turtle.begin_fill()

for i in range(4):

turtle.circle(100,90)

turtle.right(180)

turtle.end_fill()

turtle.done()

#例題3繪制一個(gè)四葉花瓣

import turtle

turtle.color("pink","pink")

turtle.begin_fill()

turtle.circle(-100,90)

turtle.right(90)

turtle.circle(-100,90)

turtle.circle(100, 90)

turtle.right(90)

turtle.circle(-100, -90)

turtle.right(90)

turtle.circle(-100, 90)

turtle.right(90)

turtle.circle(-100, 90)

turtle.circle(100, 90)

turtle.right(90)

turtle.circle(-100, -90)

turtle.end_fill()

turtle.done()

#例題4輸入一個(gè)數(shù)字,繪制以該數(shù)字為邊數(shù)的正多邊形

import turtle

a=int(turtle.textinput("繪制正多邊形","請(qǐng)輸入邊數(shù):"))

turtle.circle(100,360,a)

turtle.done()

網(wǎng)站欄目:python畫(huà)多邊形函數(shù) python畫(huà)多角形
文章轉(zhuǎn)載:http://muchs.cn/article34/dospspe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、全網(wǎng)營(yíng)銷(xiāo)推廣、外貿(mào)建站、服務(wù)器托管、Google、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)