亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

通過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)文章

  • Django模板語言 Tags使用詳解

    Django模板語言 Tags使用詳解

    這篇文章主要介紹了Django模板語言 Tags使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 在腳本中單獨(dú)使用django的ORM模型詳解

    在腳本中單獨(dú)使用django的ORM模型詳解

    這篇文章主要介紹了在腳本中單獨(dú)使用django的ORM模型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python線上環(huán)境使用日志的及配置文件

    Python線上環(huán)境使用日志的及配置文件

    這篇文章主要介紹了Python線上環(huán)境如何優(yōu)雅地使用日志,本文通過示例給大家分析對(duì)比了與 print 相比 logging 有什么優(yōu)勢(shì),需要的朋友可以參考下
    2019-07-07
  • Python如何將list中的string轉(zhuǎn)換為int

    Python如何將list中的string轉(zhuǎn)換為int

    這篇文章主要介紹了Python如何將list中的string轉(zhuǎn)換為int,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python輕量級(jí)搜索工具Whoosh的使用教程

    Python輕量級(jí)搜索工具Whoosh的使用教程

    本文將為大家簡(jiǎn)單介紹一下Python中的一個(gè)輕量級(jí)搜索工具Whoosh,并給出相應(yīng)的使用示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-07-07
  • 基于django和dropzone.js實(shí)現(xiàn)上傳文件

    基于django和dropzone.js實(shí)現(xiàn)上傳文件

    這篇文章主要介紹了基于django和dropzone.js實(shí)現(xiàn)上傳文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 基于python cut和qcut的用法及區(qū)別詳解

    基于python cut和qcut的用法及區(qū)別詳解

    今天小編就為大家分享一篇基于python cut和qcut的用法及區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 小白如何入門Python? 制作一個(gè)網(wǎng)站為例

    小白如何入門Python? 制作一個(gè)網(wǎng)站為例

    以制作一個(gè)網(wǎng)站為例,聊一聊小白如何入門Python,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python?Poetrya項(xiàng)目依賴管理安裝使用詳解

    Python?Poetrya項(xiàng)目依賴管理安裝使用詳解

    這篇文章主要為大家介紹了Python?Poetrya項(xiàng)目依賴管理安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python與字符編碼問題

    python與字符編碼問題

    這篇文章主要介紹了python與字符編碼問題,下面對(duì)編碼問題做個(gè)簡(jiǎn)單的總結(jié),感興趣的朋友跟隨小編一起看看吧
    2019-05-05

最新評(píng)論