1. 程式人生 > >python專案實戰:實現蒙特卡羅方法,求物體陰影面積

python專案實戰:實現蒙特卡羅方法,求物體陰影面積

前言

蒙特卡羅方法是指使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。與它對應的是確定性演算法。蒙特·卡羅方法在金融工程學,巨集觀經濟學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域應用廣泛。

上面的是百度百科上面的介紹,接下來讓我們一起來看看蒙特卡羅方法在Python的中的應用吧,具有一定的參考價值,程式碼如下:

 

 

 

以上就是我們做一個簡單的圓周率的近似計算,在這個過程中我們要用到隨機數,因此需要先使用import numpy as np匯入numpy庫。

在上面的程式中我們用8000000個隨機數進行投放,這樣得到的結果會更精確一些,執行程式需要一定的時間,最終得到的結果如下:

 

 

 

學習從來不是一個人的事情,要有個相互監督的夥伴,工作需要學習python或者有興趣學習python的夥伴可以私信回覆小編“學習” 獲取資料,一起學習

接下來進入正題,你隨便在一個畫圖工具上描繪一個陰影圖片,我們就可以用蒙特卡羅來求它的陰影面積,如下圖:

 

 

 

上面的圖形是不規則的,我們只需知道在投放大量隨機數的情況下,隨機數在黑色部分出現的概率,再用總面積相乘即可估算黑色部分的面積。我們知道,黑色的rgb編碼為(0,0,0),所以需要統計rgb編碼為(0,0,0)時隨機數的投放概率即可。

 

 

 

上面的程式碼可分為兩部分,第一個for後面是用蒙特卡羅方法獲得的面積的估計值,第二個for後面是用遍歷所有畫素點的方法獲得的面積的精確值,獲得兩個輸出後進行對比。

 

 

 

我們在上面的程式中採用了9000000個隨機數,可以看出兩個輸出結果相差並不大。

以上就小編所分享內容了,希望能夠幫助到大家

相關推薦

python專案實戰:實現蒙特卡羅方法,物體陰影面積

前言 蒙特卡羅方法是指使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。與它對應的是確定性演算法。蒙特·卡羅方法在金融工

python專案實戰:實現螢幕截圖的方法

前言 今天為大家介紹一個利用python實現螢幕截圖的方法,使用windows API,這個還有諸多好處的靈活,速度快,不過還有

python專案實戰:實現電腦開機自啟動某軟體

前言 今天為大家介紹一個比較酷炫的案例,實現Windows電腦開機執行某軟體的方法,開機執行,隨著系統啟動應用程式,啟動完,會自

python專案實戰:實現錄音功能小程式

前言 本節為大家詳細介紹python實現錄音小程式的案例,實現錄完音後並播放,是一個蠻有趣的案例,具有很好的參考價值和實際應用功

Python專案實戰:實現QQ抽屜功能效果展示

前言 今天為大家介紹一個利用pyhton做的一個QQ抽屜功能效果展示,具有很好的參考價值,下面就來看看吧 程式碼如下: 安裝

python專案實戰:實現王者榮耀敏感詞彙過濾器

前言 王者榮耀的火爆程度,我就不用多說了,但是呢,其中總有那麼一些沒有素質的人,各種罵人的話都有,畢竟林子大了什麼人都有,但是你

python專案實戰:實現遊戲敏感詞彙過濾器

前言 某者榮耀的火爆程度,我就不用多說了,但是呢,其中總有那麼一些沒有素質的人,各種罵人的話都有,畢竟林子大了什麼人都有,但是你

python專案實戰:實現資料視覺化三維擬合

前言 今天為大家介紹一個利用python實現資料視覺化三維擬合,具有一定的參考價值,下面就來看看具體的實現過程吧, 匯入第三方

Python專案實戰:實現逐字輸出

前言 今天為大家介紹一個利用python實現逐字輸出的案例,你把資訊輸出在後臺,它會一幀一幀的打印出來,挺有意思,具有一定的參考

python專案實戰:實現任意位置檔案分割

前言 在嵌入式開發中,常常需要將一個binary檔案分割成多個檔案,或者將一個binary的某塊區域抓成一個單獨檔案。本篇blo

python專案實戰:實現驗證碼登入網址例項

前言 相信大家都明白,大多數的網站為了不被惡意訪問,往往需要設定驗證碼登入,避免機器人訪問,而造成我伺服器癱瘓,崩潰,這裡用到P

python中random庫的使用,蒙特卡羅方法圓周率

隨機數種子作用:使我們每次生成的隨機數都一樣。 基本隨機函式: 擴充套件隨機數函式: 圓周率的計算:(門特卡羅方法) 使用蒙特卡羅方法計算圓周率:

python專案實戰:處理圖片實現畫素點的訪問

前言 今天為大家介紹一個利用Python處理圖片來實現對畫素點的訪問,在這裡你可以進行很多的操作,比如圖片灰化,你可以改變圖片的

python專案實戰:獲取電腦中的磁碟資訊方法

前言 外部儲存器中也採用了類似磁帶的裝置,比較常用的一種叫磁碟,將圓形的磁性碟片裝在一個方的密封盒子裡,這樣做的目的是為了防止磁

python專案實戰:視覺化樣條插值的實現

前言 今天小編為大家詳細介紹了python樣條插值的實現程式碼,具有一定的參考價值,希望能夠幫助到大家,程式碼如下: 匯入第三

python專案實戰:呼叫API實現智慧回覆機器人

前言 今天為大家介紹一個呼叫API實現智慧回覆機器人,供大家參考,具體內容如下 需要注意的是: 下面的程式碼需要你去圖靈的官

專案實戰——基於計算機視覺的物體位姿定位及機械臂矯正

專案實戰——基於計算機視覺的物體位姿定位及機械臂矯正 寫在開頭的話: 不得不說大學這三年過的真的快,一年後就要讀研了。讀研選擇了增強現實——計算機視覺與人工智慧這個方向(當然也需要很多機械的東西),算是一個機電偏控的方向吧,比較前沿也很有挑戰性。為了讓我的學習更有針對性,我向Prof

專案實戰——基於計算機視覺的物體位姿定位及機械臂矯正(一)

專案實戰——基於計算機視覺的物體位姿定位及機械臂矯正(一) 思路 經過這幾天的資料查詢,我逐步有了思路,現整理如下: 抓取物品定為牛奶盒,主要優勢在於,質量輕、體積小、稜角分明,便於識別抓取; 工作環境設定在傳送帶上,人工隨機將牛奶盒以不同方向隨機放入; 在攝

python專案實戰

一、專案檔案結構 pillow包 —》用於處理圖片 apps 用於存放所有的頁面 extra_apps 用於存放第三方的包 db_tools 用於初始化資料庫指令碼。。。 media 用於存放媒體檔案 注意:需在settings.py中加

Python專案實戰:讓我用程式碼評價你的公司

前言: 隨著網際網路行業的日益興盛,吸引力越來越多的牛人加入其中,也有許多小夥伴躍躍欲試,想要在網際網路的浪潮中大展身手。今天我們通過看準網的資料,幫助大家對各大網際網路公司有一個比較概括的瞭解。 01:資料來源     看準網提供了許多員工對於公司的評