最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

python 打造天體運動(仿真三體附源碼)

2022-05-19 16:20 作者:海鷗之道  | 我要投稿

最近在研究python三維運動建模,從零開始學(xué)習(xí),目標是做一個震撼好看的三體運動,如下:

三體運動假象圖

目標確定好了,下面就是開始計劃如何實現(xiàn),首先想到了借助三維的庫,用什么庫呢? 三維零基礎(chǔ)的小編只能去問度娘,度娘也誠不欺我,目前三維主流的庫有VTK、OpenGL、Vpython以及Mayavi,這么多庫如何選擇呢? 一次排開站好,下面進行政審。

1、VTK 關(guān)鍵點介紹:

VTK 在OpenGL 基礎(chǔ)上用 C+ + 語言開發(fā)而成,適用于快速開發(fā)靜態(tài)三維模型。(由于我們要做動態(tài)的,所以舍棄)

2、OpenGL

從簡書大佬文章中得知,OpenGL從3.2開始,便舍棄了渲染功能,官方給出的理由是渲染導(dǎo)致OpenGL工作效率降低,且OpenGL上手較為困難,資料極少,連書都沒有,且不是開源。(由于志在炫酷震撼,無渲染不可,故舍棄)

3、Vpython

VPython是一套簡單易用的三維圖形庫,使用它可以快速創(chuàng)建三維場景和動畫。(國內(nèi)小眾,但是功能比較強大)

4、Mayavi

Mayavi更高級了,它是基于VTK開發(fā)的,適用于創(chuàng)建三位場景及動畫,還有交互式功能,目前網(wǎng)上資料較多,適合學(xué)習(xí)。

經(jīng)網(wǎng)上資料分析,適合承擔(dān)本次項目開發(fā)的軟件庫,暫定Vpython和Mayavi。

選好庫了,下面我們開安裝。

世界之大,無奇不有,一動手,就會發(fā)現(xiàn)偉大的博主們會跟你開一個玩笑~

經(jīng)各大網(wǎng)站、貼吧以及視頻之力,得出一個結(jié)論:

Vpython安裝方式直接pip,開發(fā)環(huán)境支持python3.8、python3.9、python3.10,;

至于Mayavi安裝及其費勁,需要各種包支持,并且還有先后順序要求,

事實上呢?

直接pip install?Mayavi 直接成功,而 vpython呢 ? 安裝是可以,但是一運行 ,有圖有真相:

win7 64位 + pycharm+ python3.8/python3.9/python3.10

win7?64位?+anconda 2019.10版,這個是因為anconda 內(nèi)置python 是3.7緣故安裝不了

win10 ?anconda 最新內(nèi)置python3.9/anconda 和 2020版

win10?+?pycharm+?python3.8/python3.9/python3.10

以上框架小編均一一測試,大都可以安裝vpython,但運行都報一些奇怪的錯誤,經(jīng)分析,因vpython運行需調(diào)用頁面接口,vpython可能需要谷歌頁面支持,但國內(nèi)以禁谷歌,所以調(diào)用不了,僅供參考,無法求證。

事已至此,我們只得用mayavi庫了,好在mayavi安裝如此順利(由此觀之度娘有時候也不靠譜)。

測試一個程序吧

運行,如下:

哇塞,及其的驚喜、意外!居然真有界面,還挺好看

咳, 淡定淡定,,離目標還很遠,我們繼續(xù)

下面就是怎么畫球體,這個簡單,網(wǎng)上教程一大把,隨便來一個,走起:

運行:

有了一個,就可以有三個,沒難度,直接大點步,往天體上靠攏,給出三個天體參數(shù),如下:

運行,顯示:

貼圖紋理函數(shù),修改背景色,核心代碼如下:

運行效果:

近照
全景

還差最后一步,就是運動了,mayavi提供animate裝飾器用來顯示動畫,經(jīng)過長時間的努力努力調(diào)試,球球終于可以運動了,不過遺憾的就是貼紋理之后,就卡主了,終究有一些小遺憾,后面我還會繼續(xù)調(diào)試,爭取圓滿完成任務(wù);當然其中的天體力學(xué)部分,也調(diào)試了很長時間,才可以讓三個星球穩(wěn)定運轉(zhuǎn),不多說,源碼如下:

顯示結(jié)果無法插入視頻,只能截幾張圖顯示了:

開啟位置
運行第一次交互位置
運行大約15秒鐘

感興趣的童鞋們,可以自己運行一下代碼哦! 后續(xù)我在改進下星空,然后再跟大家一起分享代碼~??





python 打造天體運動(仿真三體附源碼)的評論 (共 條)

分享到微博請遵守國家法律
策勒县| 嘉定区| 绵阳市| 拉萨市| 香格里拉县| 东山县| 阿鲁科尔沁旗| 开原市| 醴陵市| 抚州市| 论坛| 启东市| 德庆县| 甘洛县| 南充市| 北安市| 嘉善县| 静宁县| 连州市| 景泰县| 盐边县| 济阳县| 易门县| 巴楚县| 墨竹工卡县| 南昌县| 遂平县| 荣成市| 五华县| 内黄县| 林州市| 米林县| 秦皇岛市| 西林县| 鹤峰县| 泌阳县| 定边县| 米脂县| 华蓥市| 临沂市| 宁乡县|