下载 App
[抛砖引玉]ε(x)函数的近似,以及借此实现的分段函数
修改于07/2888 浏览攻略
在实战中,直接找到一个简单函数穿过种种障碍击杀敌人,往往是困难的。受限于人的短时算力,分段函数几乎是最优解。而实现分段函数最经典的方案大概是:
f(x)=∑[ε(x-t_k1)-ε(x-t_k2)]*f_k(x)
通过一系列函数的叠加,使得f(x)在[t_k1,t_k2]上值等于f_k(x)。
由此可见,要实现分段函数,只需要实现对ε(x)的近似就行了,在这里简单介绍一下作者在使用的近似函数
ε(x-t)≈1/(1+0.1^(10(x-t)))
而我们在实际应用的时候,ε(x)经常是成对出现的,那么就可以使用以下改进近似函数:
ε(x-t1)-ε(x-t2)=1/(1+0.1^(-10(x-t1)(x-t2)))
实战应用
在介绍过分段函数后,我们便可以通过拼凑函数的方法,简单的击杀开阔地带的敌人,函数的设计思路大概是:
f(x)=路径函数+扫描函数
其中路径函数是利用分段函数实现的若干折线,当可以通过路径函数达到能够使用直线瞄准敌人的x值后,可以使用扫描函数对指定区域进行大范围打击,根据此时的相对位置有三种情况:
1.目标点在正右侧
使用Asin(5x)即可,根据地形允许范围A越大越好,实战一般1-3即可
2.目标点在正下方
在Asin(5x)的基础上加上y轴修正即可
3.目标点在右下方
这里又分为两个情况:如果空间允许先向下再向右或者先向右后向下,那么可以参照上两种情况,狭窄空间需要直接使用(kx+b)+Asin(5x)此时A不宜过大。
起始点突变
传统实现起始点突变的方式是使用-Ae^(-10x)之类的函数开局,借助ε(x)我们同样可以实现突变:
f(x)=Aε(x-Δt)+f_2(x)
即可将起始点偏移A个单位,作为起始点突变,我们可以使用1/(1+0.001^(1000(x-0.001)))等近似方案来提高斜率。
定点打击
作为ε(x)系列的近似手段,稍微改进一下就变成对高斯函数的近似:
1/(1+0.1^(-100*(x-t)(x-t)))(事实上这看起来完全没什么区别xxxx)
这会在x=t处建立一个高为1的尖峰,由于这个函数不为0的区域过于狭窄,事实上几乎只需要搭配常函数使用,可以通过乘以系数A来击杀处于(t,A)的敌人。
组合目标打击
在实现对单目标的打击后,如果你还想贪一点,那么就要进入多目标打击。
多目标打击实际上是将多个单目标打击通过分段函数组合起来(真的有人能实战算这么快吗),此时适当使用定点打击就可以使用一条函数形成泛用的多杀结构。
以上是作者摸索半小时的经验,刚开始玩难免有疏漏,欢迎交流沟通


![[抛砖引玉]基于绝对值+扫描函数的轨迹通解截图](https://img2-tc.tapimg.com/moment/etag/FtUnoP6tLZ06qx77Rq-1f4qJu1Lf_20260729144937.jpg/_tap_ugc_m.jpg)

![[重置版]公式对决PVP从入门到完结截图](https://img2-tc.tapimg.com/moment/etag/FrFAEiUzJX2zqWVNmDBxdWr-wQ6T_20260803142149.png/_tap_ugc_m.jpg)






