作者:周嘯
鏈接:https://www.zhihu.com/question/22298352/answer/257790355
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)吊趾,非商業(yè)轉(zhuǎn)載請注明出處你雌。
《卷積信號與moba游戲的傷害計算》
在打游戲的時候躬贡,假設(shè)你對敵方英雄造成了一次攻擊抵拘。攻擊的效果是祖凫,地方英雄會在接下來5秒內(nèi)持續(xù)增長的掉血非竿。每秒掉血分別為1 2 3 4 5蜕着;那么你在0秒的時候攻擊了一下敵方英雄,敵方英雄的掉血情況為:
<img src="https://pic1.zhimg.com/50/v2-3621a4ea1fdb3eab429937190a5d0b51_hd.jpg" data-caption="" data-rawwidth="339" data-rawheight="150" class="content_image" width="339">
抽象一下红柱。假設(shè)x[k]是一個單位信號(一次攻擊)承匣,即僅當(dāng)k=0時x(k) = 1.假設(shè)把這個信號輸入到一個系統(tǒng)里面得到的響應(yīng)為h[n]:
<img src="https://pic3.zhimg.com/50/v2-d31434748c3c73db961c3cdae4764c95_hd.jpg" data-caption="" data-rawwidth="341" data-rawheight="409" class="content_image" width="341">
同樣,假設(shè)你在第2秒對地方英雄進(jìn)行了攻擊锤悄,則敵方英雄會在地2-7秒持續(xù)掉血韧骗。
由于攻擊不是在第0秒,而是在第二秒铁蹈,因此宽闲,產(chǎn)生傷害也是從第二秒開始。使用函數(shù)位移的想法了解釋握牧,則本來第0秒產(chǎn)生的傷害右移了兩個單位容诬,變成了h[n-2]:
<img src="https://pic1.zhimg.com/50/v2-3e1ea2a760edf1d026e1730dd8b1f098_hd.jpg" data-caption="" data-rawwidth="449" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="449" data-original="https://pic1.zhimg.com/v2-3e1ea2a760edf1d026e1730dd8b1f098_r.jpg">
那么,如果第0秒和第2秒都進(jìn)行了攻擊沿腰,傷害是怎樣的呢览徒?當(dāng)然是第0秒的傷害加上第2秒的傷害,即:
<img src="https://pic1.zhimg.com/50/v2-b6d67558b0c14d6ca86993fc9fca303d_hd.jpg" data-caption="" data-rawwidth="468" data-rawheight="443" class="origin_image zh-lightbox-thumb" width="468" data-original="https://pic1.zhimg.com/v2-b6d67558b0c14d6ca86993fc9fca303d_r.jpg">
那么颂龙,對于任意形式的攻擊x[k]习蓬,很容易推廣到,產(chǎn)生的傷害y[n]計算方法為:
<img src="https://pic3.zhimg.com/50/v2-cc9e29e5a97ed21e091950c90a2284c3_hd.jpg" data-caption="" data-rawwidth="280" data-rawheight="95" class="content_image" width="280">
這就是卷積的公式措嵌。解釋很簡單躲叼,就是對任意的攻擊x[k],產(chǎn)生的傷害就是企巢,把所有k時刻的攻擊產(chǎn)生的傷害h[n-k]都疊加起來了枫慷。