導航:首頁 > 編程語言 > python畫多邊形

python畫多邊形

發布時間:2023-01-26 19:21:50

『壹』 求教python中的turtle

海龜庫(turtle)

『貳』 總結用python繪制正多邊形的規律

如果能夠找到規律,可以讓代碼變得更簡單。上述代碼中其實就是調用circle()函數四次,每次傳入參數不同而已。
我們可以加入循環,循環就是重復不停地做相同的事情;再找到循環變數和畫圓參數之間的規律即可。

第一個圓的半徑為50,每次按15的節奏遞減,直到繪制完半徑為5的圓。這樣就可以使用range()函數,傳入如下參數:range(50,0,-15)。
或者由小到大繪制,傳入這樣的參數也可以:range(5,51,15)。
還可以這樣:循環四次,循環變數i依次為0、1、2、3,再在繪制圓的過程中構造遞減的表達式:100/2-i*15。

分析這個表達式,當i等於0時,結果為50,繪制半徑為50的圓;當i等於1時,結果為35,繪制半徑為35的圓……正好符合題目要求的參數值。
【擴展】思考如何繪制以坐標原點為中心的同心圓呢?

仔細觀察畫筆繪制圓的軌跡,可發現:默認小海龜從坐標原點出發,逆時針旋轉一圈畫圓;然後,再回到起始點。
所以,繪制同心圓。我們需要將畫筆向下移動一定的距離,即改變y的坐標,x坐標保持不變為0。參考代碼如下:

循環體內,每次需要抬筆和落筆功能。
02
案例二:繪制一個正多邊形

繪制正多邊形有這樣一個結論:用360°去除以繪制的邊數,即可得到旋轉角度。
比如:正三角形的旋轉角度(360/3=120°)、正四邊形的旋轉角度(360/4=90°)、正八邊形的旋轉角度(360/8=45°)。其他以此類推。
那麼,我們要繪制一個正八邊形呢?

使用循環結構,循環八次。每次前移一定距離,再旋轉(360/邊數)的角度,這里旋轉的就是45°角。參考代碼如下:

有了這樣的結論,其他的正多邊形都可以信手拈來,小菜一碟了。只需要稍微改幾個參數即可。
03
案例三:繪制由多種顏色組成的正螺旋線

比如,這樣的圖形:

這是由八種顏色組成的正八邊形螺旋線結構圖,顏色依次為:紅(red)、綠(green)、藍(blue)、黃(yellow)、紫(purple)、橙(orange)、黑(black)、粉(pink)等八種。
繪制思路:
首先,需要創建一個顏色列表list,含有八種顏色元素。
第二,前移一定距離,這個距離值是由小到大逐級遞增的過程。
第三,旋轉一定角度,可參照案例二的結論。
最後,考慮畫筆的顏色,每8次(邊數)為一個周期循環顏色列表。
參考代碼如下:

其他的正螺旋線,也是如此規律。
【擴展】如果是有一定旋轉角度的螺旋線呢?比如,這樣的圖形:

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

『叄』 怎麼用python畫三角形並填色以及畫五角星並且填色(急!!!)

可以. 用fill='#XXXXXX'參數:

from Tkinter import Tk, Canvas, Frame, BOTH
from math import sin, pi,cos
def pentagramPoints(cx, cy, R):
xita = 36*pi/180
r = R*cos(2*xita)/cos(xita)
points = []
for i in range(0, 10):
angle = i*xita + 0.5*xita
if i % 2:
points+=[cx + r*cos(angle), cy - r*sin(angle)]
else:
points+=[cx + R*cos(angle), cy - R*sin(angle)]
return points
if __name__ == '__main__':
root = Tk()
f = Frame(root)
f.pack(fill=BOTH, expand=1)
canvas = Canvas(f)
canvas.create_polygon(30, 10, 160, 470, 290, 10, outline="#000000", fill="#00ff00", width=3)
canvas.create_polygon(pentagramPoints(480, 240, 100), outline = '#000000', fill='#ff0000', width=3)
canvas.pack(fill=BOTH, expand=1)
root.geometry("640x480+300+300")
root.mainloop()

『肆』 使用python創建arcgis中的帶環多邊形要素。

將單部分多邊形要素的起始點只設置為最右且Y值最大的點
def changeStartPoint(fc):
points = [point for point in fc.getPart(0)]
if len(points)!= 2:
#計算多邊形最右邊且Y值最大的點在Points中索引
index_RightupperPoint = getRightupperPoint(fc)[1]
#計算更改了起始點的多邊形要素的newpoints
newpoints =[]
newpoints.extend(points[index_RightupperPoint:-1])
newpoints.extend(points[:index_RightupperPoint+1])
#創建新要素
newPolygon = arcpy.Polygon(arcpy.Array(newpoints))
return newPolygon
#len(points) ==2為圓、橢圓
else:
return fc

『伍』 如何在python語言中輸出任意的多邊形

fromPILimportImage
fromPILimportImageDraw
a=Image.new('RGB',(200,300))
#畫布200x300
m=ImageDraw.Draw(a)
m.polygon([(20,20),(35,140),(180,166)],fill=0xff00ff)
a.show()
#polygon多邊形,n個坐標即n邊,上-三角形,下-四邊形
m.polygon([(20,20),(35,140),(180,166),(180,20)],fill=0xff00ff)

『陸』 python matplotlib 怎麼多邊形形

python matplotlib 怎麼多邊形形
y軸默認會有數值,你是需要自定義嗎
可以使用yticks函數,第一個參數是y軸的位置,第二個參數是具體標簽

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中turtle繪制正七邊形

① 以定長R為半徑作圓,並過圓心O作互相垂直的縱橫兩條直徑MN、HP. ② 過N點任作一射線NS,用圓規取七等分,把端點T與M連結起來,然後過NT上的各點推出MT的平行線,把MN七等分. ③以 M為圓心,MN為半徑畫弧,和PH的延長線相交於K點,從K向MN上各分點中的偶數點或奇數點(圖中是 1、3、5、7各點)引射線,與交於A、B、C、M.再分別以 AB、BC、CM為邊長,在圓周上從A點(或M點)開始各截一次,得到其他三點,把這些點依次連結起來,即得近似的正七邊形. 這種畫法適用畫圓內接任意正多邊形.

『捌』 python turtle作圖問題

簡介:turtle是一個簡單的繪圖工具。它提供了一個海龜,你可以把它理解為一個機器人,只聽得懂有限的指令。

1.在文件頭寫上如下行,這能讓我們在語句中插入中文
#-*- coding: utf-8 -*-

2.用import turtle導入turtle庫

3.繪圖窗口的原點(0,0)在正中間。默認情況下,海龜向正右方移動。

4.操縱海龜繪圖有著許多的命令,這些命令可以劃分為兩種:一種為運動命令,一種為畫筆控制命令
(1)運動命令:

forward(d)

向前移動距離d代表距離

backward(d)

向後移動距離d代表距離

right(degree)

向右轉動多少度

left(degree)

向左轉動多少度

goto(x,y)

將畫筆移動到坐標為(x,y)的位置

stamp()

繪制當前圖形

speed(speed)

畫筆繪制的速度范圍[0,10]整數

(2)畫筆控制命令:

down()

畫筆落下,移動時繪制圖形

up()

畫筆抬起,移動時不繪制圖形

setheading(degree)

海龜朝向,degree代表角度

reset()

恢復所有設置

pensize(width)

畫筆的寬度

pencolor(colorstring)

畫筆的顏色

fillcolor(colorstring)

繪制圖形的填充顏色

fill(Ture)

fill(False)

circle(radius, extent)

繪制一個圓形,其中radius為半徑,extent為度數,例如若extent為180,則畫一個半圓;如要畫一個圓形,可不必寫第二個參數

5.幾個例子
1)畫一個邊長為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)畫一個邊長為60的正方形,並填充為紅色,邊框為藍色
#-*- 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.練習:
1)畫一個五邊形
2)畫一個六邊形
3)任意輸入一個正整數m(>=3),畫一個多邊形(m條邊)
4)畫一個五角星,如下所示,注意填充為紅色
5)畫一個中國象棋棋盤,如下圖所示,其中漢字不必顯示出來:
6)繪制奧運五環圖,其中五種顏色分別為藍色、黑色、紅色、黃色和綠色。注意根據實際效果調整圓形的大小和位置。

『玖』 Python中Turtle模塊的基本指令都有哪些

1、畫布(canvas)

turtle.screensize(700, 600, "green")

turtle.screensize() #返回默認大小(400, 300)

2、畫筆控制命令:

turtle.down() #移動時繪制圖形,預設時也為繪制

turtle.up() #移動時不繪制圖形

turtle.pensize(width) #繪制圖形時的寬度

turtle.color(colorstring) #繪制圖形時的顏色

turtle.fillcolor(colorstring) #繪制圖形的填充顏色

turtle.fill(Ture)

turtle.fill(false)

3、運動命令:

turtle.forward(degree) #向前移動距離degree代表距離

turtle.backward(degree) #向後移動距離degree代表距離

turtle.right(degree) #向右移動多少度,角度

turtle.left(degree) #向左移動多少度

turtle.goto(x,y) #將畫筆移動到坐標為x,y的位置

turtle.stamp() #復制當前圖形

turtle.speed(speed) #畫筆繪制的速度范圍[0,10]整數

turtle.clear() 清空turtle畫的筆跡

turtle.reset() 清空窗口,重置turtle狀態為起始狀態

turtle.undo() 撤銷上一個turtle動作

turtle.isvisible() 返回當前turtle是否可見

turtle.stamp() 復制當前圖形

turtle.write('vshmily') 寫字元串'vshmily'

(9)python畫多邊形擴展閱讀:

在Python中,自定義模塊有兩個作用,一個是規范代碼,另一個是方便其他程序使用的已經編寫好的代碼,從而提高開發效率。自定義模塊主要分為兩部分,一部分是創建模塊,另一部分是導入模塊。

創建模塊可以將模塊中相關的代碼編寫在一個單獨的文件中,並且將該文件命名為「模塊名+.py」的形式。

創建模塊後,就可以在其他程序中使用該模塊了,當載入模塊時,可以使用import語句實現,語法格式為:import molename [as alias]

閱讀全文

與python畫多邊形相關的資料

熱點內容
蘋果平板如何開啟隱私單個app 瀏覽:700
空調壓縮機一開就停止 瀏覽:524
如何下載虎牙app 瀏覽:845
日語年號的演算法 瀏覽:953
dev裡面的編譯日誌咋調出來 瀏覽:298
php函數引用返回 瀏覽:814
文件夾和文件夾的創建 瀏覽:259
香港加密貨幣牌照 瀏覽:838
程序員鼓勵自己的代碼 瀏覽:393
計算機網路原理pdf 瀏覽:750
吃雞國際體驗服為什麼伺服器繁忙 瀏覽:92
php中sleep 瀏覽:488
vr怎麼看視頻演算法 瀏覽:86
手機app如何申報個人所得稅零申報 瀏覽:692
如何截獲手機app連接的ip 瀏覽:331
冰箱壓縮機是否需要電容 瀏覽:345
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:656
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758