• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python實(shí)現(xiàn)圓周率的三維模型研究

      2022-05-30 15:43:24李毅劉凱峰陳巧琳胡春兵
      電腦知識(shí)與技術(shù) 2022年10期
      關(guān)鍵詞:三維模型圓周率

      李毅 劉凱峰 陳巧琳 胡春兵

      摘要:基于Python與蒙特卡洛算法對(duì)圓周率進(jìn)行研究[1],為了實(shí)現(xiàn)對(duì)圓周率更加準(zhǔn)確的計(jì)算,需要進(jìn)行大量的實(shí)驗(yàn)及計(jì)算歸納,在實(shí)驗(yàn)中將計(jì)算機(jī)編程技術(shù)加以運(yùn)用,能夠有效降低重復(fù)運(yùn)算次數(shù)[2]。根據(jù)已有二維平面模型拓展為三維模型,使實(shí)驗(yàn)效果更加直觀、立體。

      關(guān)鍵詞:Python;蒙特卡洛法;圓周率;三維模型

      中圖分類(lèi)號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2022)10-0110-03

      1 圓周率的含義及歷史

      圓周率Pi是圓的周長(zhǎng)與直徑的比值,一般用希臘字母π表示,是普遍存在數(shù)學(xué)及物理學(xué)中的數(shù)學(xué)常數(shù)(約等于3.1415926) ,也是一個(gè)無(wú)理數(shù)。它是圓的周長(zhǎng)與直徑的比值,也等于圓的面積與半徑平方之比,π在準(zhǔn)確計(jì)算圓周長(zhǎng)、圓面積、球體積等問(wèn)題中扮演著極其重要的角色。

      圓周率散發(fā)著經(jīng)久不衰的吸引力,以至于在人類(lèi)幾千年的歷史長(zhǎng)河中,許多數(shù)學(xué)家都在尋求π的值,甚至為之付出了畢生的心血。從古至今,能像圓周率一樣吸引眾多的學(xué)者的數(shù)字屈指可數(shù),計(jì)算圓周率的值具有極其重要的含義,查閱歷史上對(duì)π的求值程度往往能反映出這個(gè)區(qū)域甚至這個(gè)時(shí)代數(shù)學(xué)發(fā)展的大致水平。

      圓周率π在計(jì)算界占有重要的地位,縱觀古今中外歷史,我們可以將圓周率計(jì)算方法的發(fā)展史大略分為四個(gè)時(shí)期[3]:實(shí)驗(yàn)時(shí)期、幾何法時(shí)期、分析法時(shí)期、計(jì)算機(jī)時(shí)期。電子計(jì)算機(jī)的迅速普及使π值計(jì)算有了日新月異的進(jìn)展,計(jì)算圓周率π值的方法和求解速度都實(shí)現(xiàn)了前所未有的突破,使對(duì)π的求值運(yùn)算步入了一個(gè)嶄新的發(fā)展期,圓周率π的數(shù)值達(dá)到了難以想象的精度。

      2 采用的工具

      隨著近代計(jì)算機(jī)技術(shù)的發(fā)展,蒙特卡洛方法也因自身的特性而得到廣泛應(yīng)用。蒙特卡洛方法現(xiàn)已成為人們處理復(fù)雜的數(shù)據(jù)建模和更高維度問(wèn)題的主要工具,它在電子學(xué)、生物學(xué)、高分子化學(xué),近似計(jì)算等學(xué)科與方法的研究中有著重要的應(yīng)用[4]。通過(guò)科學(xué)合理的統(tǒng)計(jì)建模,把較為復(fù)雜的研究對(duì)象,轉(zhuǎn)化成對(duì)隨機(jī)數(shù)及其數(shù)字特征的模型及運(yùn)算,從實(shí)質(zhì)上簡(jiǎn)化了研究問(wèn)題,減少了運(yùn)算的復(fù)雜性,從而獲得最佳的近似解[5]。

      大數(shù)定理則是蒙特卡羅法最為關(guān)鍵的數(shù)理基石,如果要使用蒙特卡羅方法來(lái)求解問(wèn)題,則需要重復(fù)大量同樣的實(shí)驗(yàn),只有實(shí)驗(yàn)次數(shù)足夠多,所獲得的結(jié)論才會(huì)接近于真實(shí)值。蒙特卡洛法的本質(zhì)是構(gòu)造出一個(gè)具有隨機(jī)性的問(wèn)題,并使數(shù)學(xué)上推導(dǎo)出來(lái)的結(jié)論正好是所求問(wèn)題的解,多次重復(fù)實(shí)驗(yàn)后,求得問(wèn)題的多個(gè)解,即可獲得近似的結(jié)果[6]。

      現(xiàn)在計(jì)算機(jī)技術(shù)飛速發(fā)展,編程語(yǔ)言早已是計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)中不可或缺的一部分,Python編程語(yǔ)言擁有編寫(xiě)簡(jiǎn)潔快速、語(yǔ)法優(yōu)美易讀等優(yōu)勢(shì),在各領(lǐng)域都能看得到它的身影[7]。本文將Python的諸多優(yōu)勢(shì)融入實(shí)驗(yàn)過(guò)程中,既可以清晰明了地展現(xiàn)出實(shí)驗(yàn)的結(jié)果,又能夠使學(xué)習(xí)者更加注重問(wèn)題的思想本質(zhì),而不是煩瑣的代碼。除此之外,使用Python 語(yǔ)言還能輕松簡(jiǎn)潔地編寫(xiě)圖形界面程序[8],大大降低了本次研究的難度。

      3 二維模型建立

      首先通過(guò)二維平面圖像來(lái)介紹實(shí)驗(yàn)過(guò)程,研究表明可以通過(guò)圓和正方形的面積計(jì)算公式得到圓面積=正方形的面積*(圓中的點(diǎn)/正方形中的點(diǎn)) 。實(shí)驗(yàn)中,本文選擇一個(gè)含有內(nèi)切圓且邊長(zhǎng)為2的正方形,如圖1所示,向其中投射大量的針,每根針在正方形上形成一個(gè)“投點(diǎn)”,依靠投點(diǎn)在內(nèi)切圓的個(gè)數(shù)與正方形內(nèi)投點(diǎn)個(gè)數(shù)的比值等于Pi/4,再進(jìn)行簡(jiǎn)單地變換就得到Pi的值。為保證實(shí)驗(yàn)結(jié)果的精確度,投點(diǎn)總數(shù)通常較大,由于計(jì)算落在圓內(nèi)投點(diǎn)數(shù)顯得較為困難,故可以運(yùn)用Python及蒙特卡羅算法的來(lái)協(xié)助探究。

      使用Python代碼來(lái)實(shí)現(xiàn)上述過(guò)程,如圖2所示,需要定義N代表投點(diǎn)的總個(gè)數(shù),n代表投射在內(nèi)切圓中小點(diǎn)的總個(gè)數(shù),用兩個(gè)從-1到1之間的隨機(jī)值來(lái)代表投點(diǎn)的橫坐標(biāo)和縱坐標(biāo),并創(chuàng)立兩個(gè)列表分別來(lái)記錄橫坐標(biāo)和縱坐標(biāo)的值,然后利用公式求得Pi值并用列表記錄。調(diào)用畫(huà)圖工具將實(shí)驗(yàn)過(guò)程呈現(xiàn)出來(lái),得到如圖3所示。

      接著通過(guò)調(diào)用數(shù)學(xué)函數(shù)將列表之中大量的實(shí)驗(yàn)結(jié)果所求Pi值取平均值、方差及標(biāo)準(zhǔn)差,將所有Pi值放進(jìn)圖中形成散點(diǎn)圖,同時(shí)將Pi的平均值畫(huà)成一條紅線與Pi的原值(3.1415926) 畫(huà)出的黑線相對(duì)比就可以發(fā)現(xiàn)紅線和黑線幾乎重疊,如圖5所示,證明所用的方法是比較合理的。如果做一個(gè)領(lǐng)域半徑r來(lái)剔除出實(shí)驗(yàn)所求Pi的異常值,即可使實(shí)驗(yàn)數(shù)據(jù)更加精確,方差和標(biāo)準(zhǔn)差都會(huì)縮小,所求的值離Pi的真實(shí)值更接近,如圖6所示。

      4 三維模型建立

      根據(jù)二維的平面模型可以延伸到三維的立體模型,三維模型的實(shí)驗(yàn)數(shù)據(jù)將比二維模型的實(shí)驗(yàn)數(shù)據(jù)更加合理。與二維模型相比,三維模型具有更多優(yōu)勢(shì),三維模型的空間信息呈現(xiàn)更直接,三維模型給空間信息提供了更為豐富展示空間,而且三維模型在可視化方面有著巨大的優(yōu)勢(shì)[9]。實(shí)驗(yàn)中二維模型轉(zhuǎn)化為三維模型即是將邊長(zhǎng)為2的正方形內(nèi)切圓轉(zhuǎn)化為邊長(zhǎng)為2的正方體內(nèi)切球,如圖8所示,投射針將要從正方體的多個(gè)方向發(fā)射,確?!巴饵c(diǎn)”在三維的坐標(biāo)系下分布均勻。同理,經(jīng)過(guò)簡(jiǎn)單的數(shù)學(xué)公式推導(dǎo)變化,使用內(nèi)切球和正方體的體積公式與投點(diǎn)在球內(nèi)和正方體內(nèi)的比值等于Pi/6,最后就能得到Pi的值,如圖7中公式所示。

      使用Python代碼來(lái)實(shí)現(xiàn)三維模型的圖像,同樣需要定義N代表投射點(diǎn)的總個(gè)數(shù),n則代表投射在內(nèi)切球體之中小點(diǎn)的總個(gè)數(shù),用三個(gè)從-1到1之間的隨機(jī)值來(lái)代表投點(diǎn)所在的坐標(biāo)(即x軸,y軸和z軸) 就能近似地認(rèn)為投射在一個(gè)邊長(zhǎng)為2的正方體內(nèi),并創(chuàng)立三個(gè)列表來(lái)分別記錄這些坐標(biāo),然后利用公式求得Pi值并用列記錄。最后利用畫(huà)圖工具將整個(gè)實(shí)驗(yàn)過(guò)程呈現(xiàn)出來(lái),如圖10所示。

      將二維模型求出Pi近似值的方法略做修改即可等價(jià)地將三維模型Pi的近似值求出,如圖7中公式所示,利用數(shù)學(xué)函數(shù)將三維模型實(shí)驗(yàn)所求大量Pi值取平均值、方差和標(biāo)準(zhǔn)差,將實(shí)驗(yàn)中產(chǎn)生的大量Pi值都放進(jìn)圖中形成散點(diǎn)圖,并將這些值的平均值畫(huà)成一條紅線與Pi的真實(shí)值(3.1415926) 畫(huà)出的黑線相對(duì)比,如圖11所示。使用相同的坐標(biāo)刻度,可以清晰地對(duì)比二維圖形和三維模型的精確程度。同理,對(duì)三維模型實(shí)驗(yàn)數(shù)據(jù)大量Pi值做一個(gè)領(lǐng)域半徑r,來(lái)剔除異常實(shí)驗(yàn)數(shù)據(jù)值Pi,可以讓數(shù)據(jù)更加精確,方差和標(biāo)準(zhǔn)差都會(huì)縮小,所求的平均值離Pi的真實(shí)值更接近,如圖12所示。

      5 總結(jié)

      即使近現(xiàn)代計(jì)算機(jī)技術(shù)高速發(fā)展,然而對(duì)圓周率π的求值并沒(méi)有停止,計(jì)算仍在繼續(xù),但它已經(jīng)不再被用在日常生活之中,研究的π意義已經(jīng)不再局限于簡(jiǎn)單的數(shù)值計(jì)算,一方面基于個(gè)人的興趣愛(ài)好,另一方面被用來(lái)檢測(cè)計(jì)算機(jī)性能的好壞以及公式的優(yōu)劣?,F(xiàn)如今,圓周率往往不再是一種被檢驗(yàn)的對(duì)象,而是同最大素?cái)?shù)相類(lèi)似地被當(dāng)作檢測(cè)工具,兩者皆用于檢測(cè)設(shè)備的先進(jìn)程度和算法的優(yōu)劣。

      在本次研究中,使二維平面模型轉(zhuǎn)化為三維立體的模型,是秉持逐步向高緯度空間探索的精神。想要探索四維甚至更高維空間,就需要先投影到三維世界來(lái)看,將二維模型拓展到三維模型是不可或缺的一部分。人類(lèi)向高維度的探求是科學(xué)發(fā)展以來(lái)的永恒目標(biāo),假設(shè)擁有足夠的數(shù)學(xué)知識(shí),從眾多三維模型中得到啟發(fā),極有可能帶動(dòng)科學(xué)研究邁出一大步。

      參考文獻(xiàn):

      [1] 何光.用蒙特卡羅方法計(jì)算圓周率的近似值[J].內(nèi)江師范學(xué)院學(xué)報(bào),2008,23(4):14-16.

      [2] 王玉華,李嬌,方曙東.基于Python實(shí)現(xiàn)圓周率的蒙特卡羅算法的研究[J].池州學(xué)院學(xué)報(bào),2019,33(3):17-18.

      [3] 張曉貴.圓周率計(jì)算的四個(gè)時(shí)期[J].遼寧教育學(xué)院學(xué)報(bào),2000,17(5):66-69.

      [4] 朱陸陸.蒙特卡洛方法及應(yīng)用[D].武漢:華中師范大學(xué),2014.

      [5] 楊筱珊.蒙特卡羅方法在定積分近似計(jì)算中的應(yīng)用[J].安順師專(zhuān)學(xué)報(bào)(自然科學(xué)版),1998(2):34-40.

      [6] 李姣娜.蒙特卡羅方法的原理及在數(shù)值計(jì)算方面的應(yīng)用——以定積分為例[J].濰坊工程職業(yè)學(xué)院學(xué)報(bào),2018,31(5):104-108.

      [7] 姚建盛,李淑梅.Python在科學(xué)計(jì)算中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2016(11):76.

      [8] 程麗玲.淺談Python在科學(xué)計(jì)算中的應(yīng)用[J].信息系統(tǒng)工程,2018(10):55.

      [9]徐鵬飛,丁榆城,張煒,等.基于三維CAD造型內(nèi)螺旋銑刀精確建模[J].中國(guó)機(jī)械,2019(17):1.

      【通聯(lián)編輯:梁書(shū)】

      收稿日期:2021-11-28

      基金項(xiàng)目:四川民族學(xué)院瀘定校區(qū)校園網(wǎng)建設(shè)關(guān)鍵技術(shù)研究(XYZB2009ZB) ;四川民族學(xué)院基于微信小程序的食堂在線預(yù)約系統(tǒng)研究(XYZB2008ZB)

      作者簡(jiǎn)介:李毅(1990—) ,男,四川巴中人,碩士研究生,助教,研究方向?yàn)樽顑?yōu)化算法。

      猜你喜歡
      三維模型圓周率
      圓周率的藝術(shù)
      圓周率計(jì)算紀(jì)錄刷新了
      礦山虛擬環(huán)境三維模型系統(tǒng)優(yōu)化方法研究
      缸內(nèi)直噴汽油機(jī)進(jìn)氣道流動(dòng)特性的數(shù)值模擬
      汽車(chē)虛擬駕駛培訓(xùn)系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)
      基于DIMINE軟件地質(zhì)模型建立
      科技視界(2015年25期)2015-09-01 18:04:23
      回音壁
      平南县| 东阿县| 仁寿县| 黔西县| 西城区| 开平市| 巴楚县| 贵定县| 揭阳市| 大安市| 裕民县| 广东省| 江西省| 桃源县| 襄城县| 仙居县| 封开县| 苗栗县| 尼木县| 大足县| 黄骅市| 盐亭县| 土默特右旗| 扎鲁特旗| 专栏| 绥中县| 墨玉县| 四会市| 东山县| 民勤县| 宝兴县| 岱山县| 银川市| 宿松县| 凌源市| 彰武县| 镇赉县| 栾川县| 荔浦县| 荆门市| 苍南县|