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

基于Python繪制一個會動的3D立體粽子

 更新時間:2023年06月14日 09:29:30   作者:微小冷  
下周就要到端午節(jié)了,所以本文小編就來和大家分享一個有趣的Python項(xiàng)目——繪制會動的3D立體粽子,文中的示例代碼講解詳細(xì),感興趣的可以了解一下

粽子曲面

之前通過matplotlib繪制了圓錐曲面,但matplotlib繪制曲面圖有幾個問題,其中plot_surface需要有規(guī)范的xOy坐標(biāo),然后根據(jù)其坐標(biāo)繪制z軸參數(shù);plot_trisurf則必須有明確的三角面的頂點(diǎn)。這些限制提高了繪制三維曲面的技術(shù)要求,所以接下來用open3d來以點(diǎn)云的形式來繪制一些更復(fù)雜的曲面。

首先就是下面這個參數(shù)方程對應(yīng)的曲面

下面是繪圖代碼

import numpy as np
import open3d as o3d

def getSin(N):
    u = np.linspace(0, np.pi*2, N)
    v = np.linspace(0, np.pi*2, N)
    u,v = np.meshgrid(u,v)
    x = np.cos(u).reshape(-1)
    y = np.cos(v).reshape(-1)
    z = np.cos(u+v).reshape(-1)
    return np.array([x,y,z]).T

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(getSin(500))
o3d.visualization.draw_geometries([pcd])

最后效果如下,非常像一個粽子

真·粽子曲面

上面的粽子圖,其實(shí)是散點(diǎn)圖,只不過點(diǎn)數(shù)太多,看上去就比較連續(xù),接下來通過open3d,將這個粽子的散點(diǎn)圖,轉(zhuǎn)換為粽子曲面。由于曲面生成的本質(zhì)是繪制三角面,而隨著點(diǎn)數(shù)的增多,所需繪制時間也就越長,故而少選一些點(diǎn)

tri = o3d.geometry.TriangleMesh

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(getSin(20))
mesh = tri.create_from_point_cloud_alpha_shape(pcd, 2)
mesh.compute_vertex_normals()
o3d.visualization.draw_geometries([mesh], mesh_show_back_face=True)

其中,o3d.geometry.TriangleMesh是一個類,之所以將其重新賦值,皆因后面調(diào)用的生成曲面的方法名字太長,這樣可以縮減一下一行的長度。

compute_vertex_normals用于生成法線,如果沒有這個,最后得到的曲面是看不出三維效果的。

最終得到的效果如下,像是個金屬質(zhì)感的粽子,還挺好看的

點(diǎn)擊Ctrl+數(shù)字,可以更改曲面的配色,為了表現(xiàn)得更加細(xì)膩,下面用100×100的網(wǎng)格來生成粽子曲面,效果如下

正弦曲面

粽子曲面又叫余弦曲面,如果把cos換成sin,那么就得到了正弦曲面

其繪圖代碼如下

import numpy as np
import open3d as o3d

def getCos(N):
    u = np.linspace(0, np.pi*2, N)
    v = np.linspace(0, np.pi*2, N)
    u,v = np.meshgrid(u,v)
    x = np.sin(u).reshape(-1)
    y = np.sin(v).reshape(-1)
    z = np.sin(u+v).reshape(-1)
    return np.array([x,y,z]).T

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(getCos(500))
pcd.estimate_normals()
o3d.visualization.draw_geometries([pcd])

其中,estimate_normals用于估計點(diǎn)的法線,這樣在繪圖的時候會產(chǎn)生漂亮的光效,最終繪圖結(jié)果如下,可見正弦曲面和余弦曲面的確有著類似互補(bǔ)的性質(zhì)。

到此這篇關(guān)于基于Python繪制一個會動的3D立體粽子的文章就介紹到這了,更多相關(guān)Python粽子內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV實(shí)現(xiàn)相機(jī)校正

    OpenCV實(shí)現(xiàn)相機(jī)校正

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)相機(jī)校正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • python利用MethodType綁定方法到類示例代碼

    python利用MethodType綁定方法到類示例代碼

    這篇文章主要給大家介紹了關(guān)于python利用MethodType綁定方法到類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • tensorflow實(shí)現(xiàn)殘差網(wǎng)絡(luò)方式(mnist數(shù)據(jù)集)

    tensorflow實(shí)現(xiàn)殘差網(wǎng)絡(luò)方式(mnist數(shù)據(jù)集)

    這篇文章主要介紹了tensorflow實(shí)現(xiàn)殘差網(wǎng)絡(luò)方式(mnist數(shù)據(jù)集),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    這篇文章主要介紹了用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法,包括用watchdog來檢測文件的變化等,實(shí)現(xiàn)起來充分體現(xiàn)了Python作為動態(tài)語言的靈活性,強(qiáng)烈推薦!需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)批量圖片轉(zhuǎn)GIF動圖(附源代碼)

    Python實(shí)現(xiàn)批量圖片轉(zhuǎn)GIF動圖(附源代碼)

    本文介紹了一個Python實(shí)現(xiàn)的批量圖片轉(zhuǎn)GIF工具,提供簡潔版和專業(yè)版兩種實(shí)現(xiàn)方案,該工具支持從指定目錄讀取PNG/JPG/BMP等格式圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-04-04
  • python利用TextBlob庫實(shí)現(xiàn)輕松分析文本情感

    python利用TextBlob庫實(shí)現(xiàn)輕松分析文本情感

    TextBlob是一個基于NLTK(Natural Language Toolkit)和Pattern庫的Python庫,它提供了一系列方便的接口和方法來處理文本數(shù)據(jù),下面我們就來學(xué)習(xí)一下如何利用TextBlob庫實(shí)現(xiàn)輕松分析文本情感吧
    2023-12-12
  • Python Paramiko模塊的安裝與使用詳解

    Python Paramiko模塊的安裝與使用詳解

    最近閑著學(xué)習(xí)python,看到有個paramiko模塊,貌似很強(qiáng)大,所以從網(wǎng)上學(xué)習(xí)后總結(jié)了這篇文章,下面這篇文章就給大家介紹了Python中Paramiko模塊的安裝與使用,文中介紹的很詳細(xì),相信對大家的學(xué)習(xí)很有幫助,有需要的朋友們下面來一起看看吧。
    2016-11-11
  • python繪制橫豎條形圖的方法

    python繪制橫豎條形圖的方法

    這篇文章主要為大家詳細(xì)介紹了python繪制橫豎條形圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python簡單網(wǎng)絡(luò)編程示例【客戶端與服務(wù)端】

    Python簡單網(wǎng)絡(luò)編程示例【客戶端與服務(wù)端】

    這篇文章主要介紹了Python簡單網(wǎng)絡(luò)編程,詳細(xì)介紹了客戶端與服務(wù)端的具體實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • python實(shí)現(xiàn)冒泡排序算法的兩種方法

    python實(shí)現(xiàn)冒泡排序算法的兩種方法

    本篇文章主要介紹了python實(shí)現(xiàn)冒泡排序的兩種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論

亳州市| 阳江市| 扶绥县| 宣武区| 拜泉县| 富裕县| 康平县| 东阳市| 临沂市| 社旗县| 林州市| 伊春市| 西乌珠穆沁旗| 合山市| 新乡市| 明溪县| 黄骅市| 滨海县| 寻甸| 武山县| 会宁县| 永顺县| 通化县| 大厂| 砚山县| 微山县| 沁源县| 隆德县| 来宾市| 汾阳市| 四川省| 多伦县| 龙川县| 健康| 松滋市| 拉孜县| 长岛县| 昭通市| 手游| 泗水县| 奉节县|