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的沙龍
18會員
149內容數
寫點東西自娛娛人
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
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
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)的出現改變了我們與機器互動的方式。這些模型能夠理解和生成自然語言,實現許多以前無法想像的應用。然而,你可能會好奇,這些模型究竟是如何理解語言的?這裡,我們來探討一個關鍵的概念:「一切語義都是關係」。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News