最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過Python繪制九種二次曲面的示例詳解

 更新時(shí)間:2023年06月14日 09:26:19   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了如何通過Python繪制九種二次曲面,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下

二次曲面

python中繪制三維圖需要將坐標(biāo)系聲明為3d。

球面方程為

x2+y2+z2=R2

寫為極坐標(biāo)形式為

x=Rsinθcosφ

y=Rsinθsinφ

z=Rcosθ

令R = 1 R=1R=1,則畫圖為

代碼如下

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> theta = np.arange(0,6.4,0.1).reshape(64,1)
>>> phi = np.arange(0,3.2,0.1).reshape(1,32)
>>> x = np.sin(theta)*np.cos(phi)
>>> y = np.sin(theta)*np.sin(phi)
>>> z = np.cos(theta)
>>> ax = plt.gca(projection='3d')
>>> ax.plot_surface(x,y,z)
<mpl_toolkits.mplot3d.art3d.Poly3DCollection object at 0x000001CECF13A730>
>>> plt.show()

二次曲面共有九種,代碼均與橢球曲面類似,為了加強(qiáng)立體感,可在畫圖的時(shí)候設(shè)置顏色映射,下列各圖部分用到

from matplotlib import cm
#...
ax.plot_surface(x,y,z,cmap=cm.coolwarm)

a,b,c均為1時(shí)的曲面

1.橢圓錐面 x2/a2+y2/b2-z2/c2=0

2.橢球面 x2/a2+y2/b2+z2/c2=1

3.單葉雙曲面 x2/a2+y2/b2-z2/c2=1

4.雙葉雙曲面 x2/a2+y2/b2-z2/c2=-1

5.橢圓拋物面 z=x2/a2+y2/b2

6.雙曲拋物面 z=x2/a2-y2/b2

7.橢圓柱面 x2/a2+y2/b2=1

8.雙曲柱面 x2/a2-y2/b2=1

9.拋物柱面 y2=2px

在上面各式中,橢圓錐面、單葉雙曲面、雙葉雙曲面具有極為相似的表達(dá)式

故可繪制動(dòng)態(tài)圖來表示這一過程,由于animation中無法繪制plot_surface,所以采用將單張圖片生成gif的方式。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
import imageio
theta = np.arange(0,6.4,0.1)
z = np.arange(-2,2,0.02).reshape(200,1)
gifImgs = []
fig = plt.figure()
for i in np.arange(-1,1,0.02):
    theta = np.arange(0,6.4,0.1).reshape(1,64)
    Z = np.repeat(z,64).reshape(200,64)
    x = np.sqrt(z**2+i)*np.cos(theta)
    y = np.sqrt(z**2+i)*np.sin(theta)
    ax = plt.gca(projection='3d')
    ax.plot_surface(x,y,Z,cmap=cm.coolwarm)
    plt.savefig("%.2f.jpg" % i)
    gifImgs.append(imageio.imread("%.2f.jpg" % i))
imageio.mimsave("test.gif",gifImgs,fps=5)

到此這篇關(guān)于通過Python繪制九種二次曲面的示例詳解的文章就介紹到這了,更多相關(guān)Python曲面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

汉寿县| 葵青区| 象州县| 库车县| 沭阳县| 元谋县| 康平县| 晋宁县| 贵溪市| 青阳县| 临泽县| 万荣县| 稷山县| 余庆县| 屏南县| 忻州市| 舟曲县| 绵竹市| 东乡族自治县| 隆尧县| 西城区| 翁源县| 余姚市| 岳池县| 洪雅县| 自治县| 静乐县| 广汉市| 青阳县| 曲麻莱县| 平湖市| 顺义区| 天全县| 新巴尔虎右旗| 麻阳| 德江县| 中卫市| 敦化市| 沙田区| 镇安县| 延寿县|