0
我真的想要繪製一個線性環,顯示兩個多邊形的交叉的區別:蟒蛇勻稱:檢索X,Y,Z一個線性環值
import mpl_toolkits.mplot3d as a3
import matplotlib.pyplot as plt
from shapely.geometry import Polygon
fig = plt.figure()
ax = Axes3D(fig)
poly1 = Polygon([(220.0, 780, 500), (840, 780, 500), (840, 180, 500), (220.0, 180, 500)])
poly2 = Polygon ([(320.0, 380, 500), (740, 380, 500), (740, 180, 500), (320.0, 180, 500)])
dif = poly1.difference(poly2)
我想要一份繪製DIF然而,當使用:
top1 = a3.art3d.Poly3DCollection([dif],alpha=0.6)
我得到一個錯誤回報說:「類型錯誤:‘多邊形’對象不是可迭代」
因此,我試圖讓X,Y,DIF的Z座標,並繪製出來,但我只能設法得到x,y 那些。爲了測試的緣故,我目前饋入的Z值manualy:
z= [500,500,500,500,500,500,500,500]
x,y = a.exterior.xy
zipped = list(zip (x,y,z))
top1 = a3.art3d.Poly3DCollection([zipped],alpha=0.6)
top1.set_color('wheat')
top1.set_edgecolor('k')
ax.add_collection3d(top1)
ax.set_xlim(0, 1000)
ax.set_ylim(0, 1000)
ax.set_zlim(0, 1000)
plt.show()
然後我得到我之後的情節,但我在找一個更簡單的方法來繪製DIF。