像素地牢吧 关注:35,378贴子:269,120

地牢弹道学(极速版)

只看楼主收藏回复

一、为什么要做这个?
之前的《地牢弹道学》引入与论证过程冗长,到了真正实用的部分都没人了,有点本末倒置。因此,本帖追求尽快上手,唯一冗长的部分只有开头这些话,2楼就直接开始讲方法。
二、学这个有什么用?
远程投武操作浪,解离法杖串串香,卡位陷阱巧利用,遇到法爷心不慌,嘿,心 不 慌实际上任何远程操作(索敌除外),都能用弹道学来思考
三、这个有什么特点?
①这是一个数学模型,涉及到初高中函数知识。②这并非几条简单的实用技巧,而是**任何情况下**都可用的分析工具。③这个建模的某些前提尚未被论证,但目前已通过实验证明在30格宽61格长的范围内有效
四、适用人群/前置知识
①基本掌握初高中函数知识,只有初中的勉强也行②破碎地牢及其改版的任何玩家(本人测试,很多原版改地牢也行)③地牢弹道学的目的:从起点到终点,弹道会经过**哪些格子**。
好了,接下来就开始吧。


IP属地:吉林来自Android客户端1楼2023-11-28 14:18回复
    支持


    IP属地:河南来自Android客户端2楼2023-11-28 14:38
    回复
      目的:分析从起点到终点,弹道会经过哪些格子
      首先,以角色所在格的中心点为原点建立直角坐标系,x轴与y轴的正方向应当在水平或垂直方向上,且使得弹道在第一象限且斜率大于1。
      这样,每一个格子都能表示为(x,y)格,每一条垂直的分界线都能表示为x=m+0.5(m∈N),水平的分界线字母换成y就行。
      弹道起点为(0,0)格,假设终点为(a,b)格,我们要知道的是弹道从(0,0)到(a,b)之间会经过哪些格子。
      (0,0)与(a,b)两点连成的直线为y=kx,很明显,k=b/a
      接下来,我们取{x=m+0.5 | 0≤m<a}这几条线(也就是(0,0)与(a,b)之间所有的垂直分界线),分别计算y=kx与这几条线的交点的y值,得出{y1, y2, y3, ..., ya}这几个数。
      设p∈[0,a]∩N,当0<p<a时,取区间[yp, y(p+1))之间所有的自然数{q1,q2, ..., qn},那么{(p,q1), (p,q2), ..., (p,qn)}这几个点对应的格子就是弹道经过的格子。
      当p=0时,这个区间取[0, q1);当p=a时,这个区间取[qa,b],其它过程类似。
      所有这些计算出来的点就是弹道经过的格子


      IP属地:吉林来自Android客户端4楼2023-11-28 15:07
      收起回复
        有点抽象?来看下面的例子
        下图图1中,我将用解离法杖射击最右上角的小鼠,图2中被击中的小鼠就是弹道经过的格子,我用木板标识了出来。怎样用上面的方法计算出这个弹道呢?



        IP属地:吉林来自Android客户端6楼2023-11-28 15:31
        回复
          太强了吧


          IP属地:浙江来自Android客户端7楼2023-11-28 15:39
          回复
            以角色为原点建系,向右为x轴正方向,向上为y轴正方向,使得弹道在第一象限且斜率大于1。
            起点在(0,0)格,终点在(3,4)格,两点直线的表达式为y=4/3x
            计算直线与x=0.5交点的y值,为2/3。再继续计算直线与x=1.5、x=2.5的交点y值,这三个计算结果分别为2/3、2、10/3
            分别对应上面抽象方法中的y1、y2、y3
            p=1时,[2/3, 2)中的自然数只有1,因此弹道经过(1,1)格
            p=2时,[2,10/3)中的自然数有2、3,因此弹道经过(2,2)格、(2,3)格
            p=0时,[0,2/3)中的自然数只有0,因此弹道经过(0,0)格
            p=3时,[2/3,4]中的自然数只有4,因此弹道经过(3,4)格
            把这些格子全部合起来,哇!刚好就是上图图2木板上的那些格子。


            IP属地:吉林来自Android客户端8楼2023-11-28 15:45
            回复
              理解了这个工具有什么用后(希望你能理解吧),我们来做地牢弹道学的第一个也是最重要应用:投掷武器操作浪


              IP属地:吉林来自Android客户端9楼2023-11-28 16:02
              回复
                已经开始困了


                IP属地:安徽来自Android客户端10楼2023-11-28 16:03
                回复
                  如下图,这是一个简单的墙角斜射的场景,有经验的玩家都知道,站在这个位置上是没有引导的,有引导也扔不中,必须要自己打。那么,怎样击中这个小鼠呢?


                  IP属地:吉林来自Android客户端11楼2023-11-28 16:08
                  回复
                    先建系,不多说了
                    我们现在不知道要击打哪个格子,所以暂时设终点为(a,b)格,很明显a≥1且b≥4(因为弹道不能比到(1,4)格还短嘛)那么表达式为y=kx,其中k=b/a。
                    要击中小鼠,应当满足两个条件:①弹道必须高于(1,3)格;②弹道必须经过(1,4)格
                    怎么理解条件①呢?假设我们算出y1、y2两个值了,那么,**只要y1>3**,区间[y1,y2)(或者当a=1时,区间为[y1,b])取出的所有自然数就一定全部大于3,在坐标系的视觉效果上,便是弹道比(1,3)格要高了。因此,条件①可以转化为这个不等式:y1>3。
                    条件②又怎样理解呢?假设我们算出了y1、y2,**只要y1≤4,且y2>4**,那么,区间[y1,y2)取出的自然数就一定包含4,在坐标系的视觉效果上,便是弹道经过了(1,4)格。(当a=2时,区间变为[y1,b],且已有前提b≥4,所以只要y1≤4,这个区间也能取出4)所以,条件②可以写成这样的不等式:y1≤4且y2>4
                    好了,y1和y2我们是能算出来的,y1=1/2k,y2=3/2k,代入上述不等式,得出1/2k>3、1/2k≤4、3/2k>4(最后一个不等式在a=2时不生效),取交集,得6<k≤8。
                    既然k=b/a,所以只要使得k∈(6,8],我们可以取任意b与a的值。这里就取b=7,a=1吧,所以我们击打(1,7)格就可以击中小鼠。
                    对不对呢?下图对“击打在(1,7)格”的表现力有点弱,大家可以自己试试


                    IP属地:吉林来自Android客户端12楼2023-11-28 16:50
                    收起回复
                      这就就是墙角斜射要往对面多射几格的原因。很多会墙角斜射的玩家会这样记:数我到怪的距离,往对面多打这个距离就能射中怪。实际上,使得k∈(6,8]的a与b取值可不止a=1,b=7。比如a=1、b=8也可以,甚至我们还能考虑当a=2、a=3时的取值,这里不多说了。
                      以上只是一个简单的例子,况且还有“弹道应当高于……”这种条件没被涉及到呢。所以,关于**所有的**“怎么才能打中那个怪”的分析方法,我总结为以下这段话。


                      IP属地:吉林来自Android客户端13楼2023-11-28 17:02
                      收起回复
                        jyjs


                        IP属地:广西来自Android客户端14楼2023-11-28 17:16
                        回复
                          插一嘴别的,这是之前写的《地牢弹道学》链接:地牢弹道学
                          如果感兴趣这个模型工具是如何建立起来的,以及受得了我啰嗦的话,就去看看吧
                          另外,lz现在要去赶死线了,今天就先鸽置罢


                          IP属地:吉林来自Android客户端15楼2023-11-28 17:25
                          回复


                            IP属地:广东来自iPhone客户端16楼2023-11-28 18:06
                            回复
                              加个精鼓励一下


                              IP属地:河南来自Android客户端17楼2023-11-28 18:45
                              回复