The Nature of Code閱讀心得與Python實作:4.1 Why Particle Systems...

更新 發佈閱讀 1 分鐘
這一節的標題是
4.1 Why Particle Systems Matter
因為方格子標題字數限制,所以沒完整顯現

之所以要研究粒子系統,除了可以用來模擬許多自然界中的現象之外,另一個更重要的原因是:在我們的模擬世界中,會有許多物體存在,而這些物體可能會形成一群一群的群體;例如,幾個彈來跳去的球、一群飛來飛去的鳥、幾隻游來游去的魚等。粒子系統,我們把它定義成是由許多各自獨立不相干的物體所組成的群體。所以,這些球、鳥、魚等,都可以把它們當成粒子系統來處理。簡單來說,只要是兩個以上的物體,都可以把他們當成是粒子系統來處理。

粒子系統很重要的一個特徵,就是系統內的物體數量是會變動的。有可能一開始的時候系統內什麼都沒有,接著可能會出現1個物體,然後出現10個,然後100個,然後成千上萬個,然後又全部消失不見。

要想順暢地處理粒子系統這種內部物體數量會變動的特性,光是建立一個描述單一粒子的類別是遠遠不夠的,我們還需要另外建立一個用來描述整個粒子系統的類別。除此之外,善用物件導向技術中的繼承(inheritance)和多形(polymorphism)兩個技術,也能讓我們在模擬粒子系統時,更能夠事半功倍。我們的目標,是要讓主程式寫起來像這樣:

particle_system = ParticleSystem()

while True:
:
:
particle_system.run()

在上面的主程式中,並沒有看到任何用來處理單一粒子的程式碼,但是執行時,卻可以看到整個畫面上都是飛舞的粒子。

在這一章中所介紹的程式架構和使用的技術,在往後的許多章節中都會用到。雖然在這一章中,我們會讓粒子只具有簡單的外觀和單純的行為,但這並不表示所有的粒子系統都該如此。重點並不在於粒子系統本身,而是面對含有許多元素在其中的系統,要怎麼處理比較好。系統中的元素要長什麼樣子、會有什麼樣的行為,完全取決於我們自己,而最終的目標,就是要呈現出我們想要模擬的效果。


留言
avatar-img
留言分享你的想法!
avatar-img
ysf的沙龍
19會員
157內容數
寫點東西自娛娛人
ysf的沙龍的其他內容
2024/10/25
粒子系統可以用來製作視覺特效(visual effect, VFX),而粒子外觀的呈現方式,以及粒子具有怎樣的紋理(texture),都會影響特效所展現出來的效果。本節介紹如何利用不同紋理的粒子圖片,以不同的混色模式(blending mode),透過粒子系統來製作模擬煙霧的特效。
Thumbnail
2024/10/25
粒子系統可以用來製作視覺特效(visual effect, VFX),而粒子外觀的呈現方式,以及粒子具有怎樣的紋理(texture),都會影響特效所展現出來的效果。本節介紹如何利用不同紋理的粒子圖片,以不同的混色模式(blending mode),透過粒子系統來製作模擬煙霧的特效。
Thumbnail
2024/10/21
在第二章模擬萬有引力時,曾經利用它來設計會吸引物體的吸子(attractor)。現在,如果想要在模擬粒子系統時,加入會排斥物體的斥子(repeller),那要怎麼做呢?
Thumbnail
2024/10/21
在第二章模擬萬有引力時,曾經利用它來設計會吸引物體的吸子(attractor)。現在,如果想要在模擬粒子系統時,加入會排斥物體的斥子(repeller),那要怎麼做呢?
Thumbnail
2024/10/18
到目前為止,我們所設計的粒子系統,都只有受到重力的作用。那如果作用力是風力呢?又該怎麼設計?
2024/10/18
到目前為止,我們所設計的粒子系統,都只有受到重力的作用。那如果作用力是風力呢?又該怎麼設計?
看更多
你可能也想看
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
Thumbnail
物理系的出路相當廣泛,有底下幾個方向: 1. 研究和學術:繼續深造,從事基礎或應用物理研究。 2. 高科技產業:如半導體、光電、材料等領域。 3. 數據分析:物理背景有助於處理複雜數據。 4. 金融業:量化分析、風險管理等。 5. 教育:中學或大學物理教師。 6. 工程領域:如電子、機械、航太等。
Thumbnail
物理系的出路相當廣泛,有底下幾個方向: 1. 研究和學術:繼續深造,從事基礎或應用物理研究。 2. 高科技產業:如半導體、光電、材料等領域。 3. 數據分析:物理背景有助於處理複雜數據。 4. 金融業:量化分析、風險管理等。 5. 教育:中學或大學物理教師。 6. 工程領域:如電子、機械、航太等。
Thumbnail
量子腦洞的威力真不是蓋的! --哈啾!(吸鼻涕......)
Thumbnail
量子腦洞的威力真不是蓋的! --哈啾!(吸鼻涕......)
Thumbnail
在物理的領域裏 不變的物質有著恆常的定律 於是乎 月球繞著地球轉 地球繞著太陽轉 太陽繞著銀河系   在化學的領域裏 物質隨著原子們的排列組合 形成了 形色多變銀河系 各有千秋太陽系 繽紛美麗的地球   在數學的領域裏 數字的跳躍翻轉變化萬千中 綜言是 正負平方開根
Thumbnail
在物理的領域裏 不變的物質有著恆常的定律 於是乎 月球繞著地球轉 地球繞著太陽轉 太陽繞著銀河系   在化學的領域裏 物質隨著原子們的排列組合 形成了 形色多變銀河系 各有千秋太陽系 繽紛美麗的地球   在數學的領域裏 數字的跳躍翻轉變化萬千中 綜言是 正負平方開根
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
大語言模型(如GPT-3和GPT-4)的出現改變了我們與機器互動的方式。這些模型能夠理解和生成自然語言,實現許多以前無法想像的應用。然而,你可能會好奇,這些模型究竟是如何理解語言的?這裡,我們來探討一個關鍵的概念:「一切語義都是關係」。
Thumbnail
大語言模型(如GPT-3和GPT-4)的出現改變了我們與機器互動的方式。這些模型能夠理解和生成自然語言,實現許多以前無法想像的應用。然而,你可能會好奇,這些模型究竟是如何理解語言的?這裡,我們來探討一個關鍵的概念:「一切語義都是關係」。
Thumbnail
這學期我們主要學習了原子的基本結構和定律,週期表與性質,還學習了價電子和化學鍵,在學習的過程中,讓我了解到非常多知識,同時又結合了課本的的題目練習,讓我對於這些知識更加熟悉。  這些知識中最讓我印象深刻的應該是價電子和化學鍵,每個價電子的數量都不同,價電子是指原子最外層的那層電子,同時因為價電子的
Thumbnail
這學期我們主要學習了原子的基本結構和定律,週期表與性質,還學習了價電子和化學鍵,在學習的過程中,讓我了解到非常多知識,同時又結合了課本的的題目練習,讓我對於這些知識更加熟悉。  這些知識中最讓我印象深刻的應該是價電子和化學鍵,每個價電子的數量都不同,價電子是指原子最外層的那層電子,同時因為價電子的
Thumbnail
1. 凡所有相皆是虛妄,若見諸相非相,即見如來 2. 能量看不到,卻統籌物理世界(形而上統籌形而下) 3. 數學與物理的不同:數學「定理」:絕對真理,不因時空轉換;物理「定律」:找到自然背後的律,而非證明 4. 數學的本質:建立在不能再問的「公理」上 5. 歐式平
Thumbnail
1. 凡所有相皆是虛妄,若見諸相非相,即見如來 2. 能量看不到,卻統籌物理世界(形而上統籌形而下) 3. 數學與物理的不同:數學「定理」:絕對真理,不因時空轉換;物理「定律」:找到自然背後的律,而非證明 4. 數學的本質:建立在不能再問的「公理」上 5. 歐式平
Thumbnail
●量子世界與量子電腦的基本概念   1.量子理論描述的是量子世界(微觀世界) ,而非宏觀世界。   2.量子世界(薛丁格方程式)只有在量子態(沒有外在干擾的狀態)下存在。   3.宏觀世界因其構成的微觀粒子(量子),經長期相互干擾,導致量子態消失, 故生是生死是死,不會存在薛丁格貓既是
Thumbnail
●量子世界與量子電腦的基本概念   1.量子理論描述的是量子世界(微觀世界) ,而非宏觀世界。   2.量子世界(薛丁格方程式)只有在量子態(沒有外在干擾的狀態)下存在。   3.宏觀世界因其構成的微觀粒子(量子),經長期相互干擾,導致量子態消失, 故生是生死是死,不會存在薛丁格貓既是
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News