數值積分I

2022-07-18 01:09:10 字數 1049 閱讀 4977

這篇是來講那些酷炫掉渣天粒子特效的

粒子系統可以模擬很多視覺 比如模擬大自然中的 霧氣  火  雨 雪  還有些遊戲中酷炫的雷射 噴火等。。

乙個粒子通常就需要一張紋理  對於那些火焰 雷射的粒子系統 要配上globalcompositeoperation lighter屬性 其作用就是疊加畫素值

粒子的運動只需考慮線速度即可 也不用考慮粒子間的碰撞問題了 粒子是有生命期的 生命過後可以移除它 或者直接給它重置屬性

不同的粒子系統 它們的發射點 紋理 生命期  受到的各種合力 都需要給出不同的引數

讓我來喚起你の物理之魂(你要相信我! 我是經過數學の女神傳授過的! 女神是不會錯的!)

用你僅有的物理知識 你一定看得懂下面的式子

s=s0+v*t 

對一小段時間進行微分 得

dx=v*dt

位置變化就是某個時刻的瞬時速度乘很小的一段時間 我們可以將其推廣到整個小段時間。

怎麼把他用到具體**中呢?dt就是連續的模擬時刻時間 用牛頓定律

有 f=m*a 

a=d2x/d2t

v=dx/dt

a=dv/dt

這樣只需要力和根據力計算出加速度即可

必如存在重力的力 f=m*g  g也可以表示其他的力

粒子系統演算法過程

1 計算某個時刻乙個粒子上的合力

2 求出乙個粒子上的加速度

3 利用數值積分求出速度改變位置

關鍵** 

render(est)
如下模擬了乙個煙 有點像汽車的尾氣吧。。

再來

總之 不同的引數都會呈現不同的效果

給出另外一種火球的效果  demo戳我~ 

Matlab數值積分

function gc,ak,xk guasschebyshev fun,n 高斯 勒讓德數值積分 引數說明 fun 積分表示式,可以是函式控制代碼 inline函式 匿名函式 字串表示式,但是必須可以接受向量輸入 a,b 積分上下限只能 1 1 故忽略 n 積分階數,可以任意正整數,但是不建議設定...

matlab 數值積分!

1.梯形格式 2.其他格式 matlab提供了quad quadl 等函式命令計算一元函式的數值積分,其中quad 採用遍歷的自適應simpson法計算函式的數值積分,quadl採用遍歷的自適應lobatto法計算函式的數值積分。其呼叫格式一般為 q,fcnt quad function,a,b 其...

數值微分與數值積分

注意 diff函式計算的是向量元素間的差分,故差分向量元素的個數比原向量少了 乙個。同樣,對於矩陣來說,差分後的矩陣比原矩陣少了一行或一列。另外,計算差分之後,可以用f x 在某點處的差商作為其導數的近似值。matlab提供了求向前差分的函式diff,其呼叫格式有三種 dx diff x 計算向量x...