在MC里边造曲线,线段本身只能达到连续,但是一阶导数是不连续的(也无法数学上连续),MC的一阶导数只能是有理数,一阶导数间断距就是用于描述一阶导数之间的差的(当然这个词是我生造出来的,本身有待修正,暂时称为△[df(x)/dx]似乎更能让人看懂……)
相关的数学描述我还在整理,这里就先举个例子吧:
(可能到时候会发个教程贴啥啥的……)
在地面上造一个二次函数曲线:
表达式为f(x)=0.5x
2。
求导,得:f'(x)=x.
即:df(x)/dx=x
由于MC当中dx是离散化的,最小只能取到1(也就是一个方块长度),此时于df(x)/dx,产生关于x的数列:1、2、3、4……
(严谨地说,原微分式df(x)/dx已经退化为了△f(x)/△x,但是为了表征相应的数学含义,以下仍沿用相关的微分符号)
(比如这样的)
如果把dx由1方块边长扩大到2方块边长,df(x)/dx保持不变的话,能得到更好的效果:
但是单纯地保持原有df(x)/dx的数列(1、2、3、4……)不变,将dx扩大到10方块边长,就会出现这种状况:
很明显让人感觉到一阶导数不连续,函数不光滑了……= =
但是如果把df(x)和dx同比缩小至0.5倍的话就会是这样的:
dx=5
df(x)/dx序列为0.5、1、1.5……
也就是1/2、1、3/2……
按照这个比例做出来的二次函数曲线就是这样的:
效果有了很大的改善。
注意到原df(x)/dx数列为等差数列,公差△[df(x)/dx]=1;
按比例缩小后得到df(x)等差数列公差为:△[df(x)/dx]=0.5;
其实说白了就是二次导,但是因为MC当中一次导数是间断的,数学上不存在二次导函数,所以就称△[df(x)/dx]为一次导数间断距……=▽=……
而且这个值其实也不一定需要是常数……
其实如果进一步细究的话,可以猜想当这个值小于某个数字的时候用Minecraft造出来的曲线会非常好……[可能是黄金比例0.618,也可能是e
-1……谁知道呢……=▽=……
似乎把本来要当教程贴的内容发了?
算了算了不管了反正还在成熟发出来也没多大关系……= =
@
Minecraft768 懒得回复了直接@就好了……= =