91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎樣實現不規則圖形填充的思路

發布時間:2021-03-24 09:49:28 來源:億速云 閱讀:479 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Python怎樣實現不規則圖形填充的思路,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

核心思想:點動成線,線動成面。

以下圖為例,要求填充扇子的扇面部分。

Python怎樣實現不規則圖形填充的思路

一、繪制扇子:

首先要弄清楚它的結構,即能夠用代碼把扇子繪制出來。(只有先把不規則圖形的結構分析清楚,才能進一步填充它。)

先畫一個框架:

#調用的庫
import math
import numpy as np
import matplotlib.pyplot as plt
#畫圖的基礎設置
fig = plt.figure(1)
ax = fig.add_subplot(111)
plt.axis('off')
plt.axis('equal')
#畫框架線條

#畫兩條圓弧
theta = np.arange(0.5*np.pi,np.pi,0.01)
for i in range(3):
  x = i * np.cos(theta)
  y = i * np.sin(theta)
  ax.plot(x,y,color='black',linewidth=0.7)
#畫兩條主扇骨
z = np.arange(0,2,0.01)
ax.plot(z * math.cos(math.pi/2), z * math.sin(math.pi/2), color='black',linewidth=0.7)
ax.plot(z * math.cos(math.pi), z * math.sin(math.pi), color='black',linewidth=0.7)

如圖:

Python怎樣實現不規則圖形填充的思路

再把扇子細節部分畫出來:

#畫10根扇骨
z = np.arange(0,1,0.01)
for i in range(11):
  ax.plot(z * math.cos(math.pi/2+i/10*math.pi/2), z * math.sin(math.pi/2+i/10*math.pi/2), color='black',linewidth=0.7)
#扇面分割為20小份
z = np.arange(1,2,0.01)
for i in range(0,21):
  ax.plot(z * math.cos(math.pi/2+i/20*math.pi/2), z * math.sin(math.pi/2+i/20*math.pi/2), color='black',linewidth=0.7)

這樣就可以得到最開始的“素扇子”。

至此,我們也弄清了扇子的“數據”,扇面部分取1/4圓,扇骨部分通過np.arange()函數,把步長設置為0.01即可以創建一條半徑,然后通過角度的正余弦變化構建扇骨,從而繪制出整個扇子。

二、填充扇子:

思路:如果兩根扇骨的距離足夠小,小到人眼難以分辨,當不同顏色的扇骨鋪滿扇面,就可以實現扇面的顏色填充。

#涂顏色
#選取一個涂色卡
color = ['#cde8f3','#91cfc9','#6bb3c0','#4198b9','#1e5670',
    '#2d4e76','#99bcdd','#c4e5ef','#f3fafa','#bbabd0',
    '#a16e8a','#643f5a','#cfbeb7','#f1ead7','#e99a9a',
    '#e67b79','#f7cece','#eec9bc','#e1f1ea','#91c7c2']

#點動成線
z = np.arange(1.005, 2, 0.01)#邊緣修正0.005,露出扇子輪廓

#線動成面
I = np.arange(0,20,0.01)
for i in I:
  ax.plot(z * math.cos(math.pi/2+i/20*math.pi/2), z * math.sin(math.pi/2+i/20*math.pi/2), color=color[int(i)],linewidth=0.7,alpha=0.5)

如圖所示:

Python怎樣實現不規則圖形填充的思路

關于“Python怎樣實現不規則圖形填充的思路”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台北县| 中牟县| 锦屏县| 安达市| 双峰县| 那坡县| 上林县| 招远市| 岳普湖县| 哈巴河县| 万载县| 呼图壁县| 象山县| 会东县| 登封市| 山阳县| 辽阳县| 平南县| 杂多县| 大同县| 内黄县| 金乡县| 满城县| 武强县| 航空| 香港| 吉木萨尔县| 莎车县| 阿拉善盟| 石家庄市| 台东县| 广南县| 南平市| 睢宁县| 定兴县| 巫溪县| 全州县| 河间市| 莱西市| 女性| 呼玛县|