本文主要是介绍人眼是如何选择成像的(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我之前对如何选择成像,做了一些分析,但是有一些瑕疵的地方是相位,无法确定。
我假设感受器能够测量电矢量的瞬时值,但是在测量间隔远大于周期函数的周期T。这个假设条件才是之后分析的基础。
通过采样确定光波周期函数的周期的算法:
首先我最开始想到的是采样的时间点其实是循环点列,那么这是个循环群的问题了。我的最终目的是确定相位,要确定相位,必须要确定在一个周期T内的采样点列。
假设周期函数为T,这里是不知道T的大小的,为了简化问题T/i假设为自然数。
现在设置基本的时间间隔为i,i的间隔必须远小于T才有意义,首先间隔个数为m,采样次数为x,
那么可以构造离散函数f(m,x),f表示以m*i为时间间隔,采样x次中的x个电矢量数值。
首先是m不变,增大x,然后取x0=当{f(m,x)}形成关于x点列后半部分是重复的前半部分的时候,取点列中间的x值。
这样得到的x0的个数可能过小,因为m与T/i不互素的时候,采样的点没有在T/i的每个区间中进行采样。
所以要继续修改m,m可以增大可以减少,没有影响。已经确定了T/i是x0的倍数。
任意修改m得到m1,使得点列{fx0}依然是不重复点列,那么这个m1根据上面的步骤得到x1>=x0,且是T/i是x1的倍数。
这个步骤重复下去得到了xn,
有x1=<x2=<...=<xn,且都是T/i的倍数。
只要T/i不是无限大,最终在有限步骤中就能得到T/i=xn。因为之后是x(n+1)=xn,重复下去了。因为这个时候的mn和T/i都是互素的。
所以xn*i=T就是所求的周期了。
这个计算方式有问题吗?完全没有问题,除了顺序不是原来周期函数的点列排列顺序,周期是一样的。
知道了周期T,但是要注意到的是采样点列的顺序和原来的周期函数在间隔为i的区间中顺序完全不同的,如果是计算我前面的成像的相位来说,因为是对成像曲面S1的任意位置y上的光做了同样的修改,所以,不需要恢复光波周期函数的点列顺序,因为相位的改变方式相同。(我这里说的内容这是为了证明光感受器可以是瞬时值的,而不是有效值的。至少证明从瞬时值中采样不会有问题。)
问题就是上面的做法依据假设最小的时间间隔比基于时间的光波函数的周期T小很多,而且瞬时电矢量值在这个时间间隔内不确定是哪个时刻的值。我相信这是一个非常通用的假设。
但是这个假设i到底是多少呢?只能靠做实验确定。已知光波的时间周期,和算法得到的采样个数xn。这个i决定了模拟光波周期函数的模糊程度,越大越模糊,越小越清晰。但是光波周期函数本身如果简单,i肯定偏大,如果复杂,肯定就偏小。这个方法能重建光波的周期函数。
但是从数学上继续推到,接着使用循环群的一些东西,就可以从采样顺序恢复原来的周期函数的真正点列顺序了。
我上面提出的寻找周期函数周期的算法步骤其实是可以改进的,我只是提出了一个非常一般的方法寻找周期而已。
=====================================================================
为了将采样点列还原成光波函数点列,提出的采样的循环群问题和不同位置y1和y2光波周期函数的周期起点问题。
我以为问题解决了,但是没有。
相位是一个周期内的第几个采样点。
但是问题是这需要确定周期函数的起振函数。在t=0的时候,是周期的开始,毕竟F(y)是关于y的函数,也是关于t的函数,对于不同的y必须确定一个周期内,从什么亮度值开始的, 这样才能和物曲面S的发出光线的初始相位差是相同的。但是物体的初始相位是怎么确定的?这个不能确定啊,那么怎么办呢?
但是我发现了个重点:无论如何采样,第一个采样点都可以视为周期函数的起始位置了,只是第二个采样点的时间间隔远超过周期T,所以进行了重新的排列,也就是说只要排列的时候第一个采样点放在周期函数的第一个位置,一切都不会有错。还是这个周期函数。
问题解决了。
在得到s阶循环群之后(s为xn的值,表示采样个数),已知m是间隔个数,设第一个采样时间点为a1,循环群为{a1,a2,...,as},第二采样点时间点为a2=a1+m。
所以第一个采样点的亮度为F(y,a1), 第二个采样点的亮度为F(y,a2),...,第s个采样点的亮度为F(y,as)。本来F也是关于时间的光波周期函数,我之前没有写出来,只写了跟位置有关,现在把时间加上。
循环群{a1,a2,...,as}这个排序是采样的顺序,但不是周期函数的点列{b1,b2,...bs}的顺序,其中b1=a1。
点列{b1,b2,...bs}和{a1,a2,...,as}是同一个循环群,只是生成元不同,生成顺序也就不同,但是已知了m和s,其实可以从点列{a1,a2,...,as}完全推出来{b1,b2,...bs}的顺序,这个我就不推导了。是数学计算问题,不做了。
{F(y,bs)}才是真正的光波周期函数基于时间t的点列。
=========================================================================
关于y的相位差。我之前说的是充分小的时候,相位差是接近恒定的。
我之前说的意思是在y的充分小的邻域U中,F(y,t)在t不相同的时候,关于y的一阶偏导数是接近常数,这里的y=(y1,y2,y3)。t是怎样的不相同呢?根据光程来确定的。但是我现在不用光程计算用另外的方法。
而一阶偏导数的计算,在采样的时候,是离散的计算方式。不管离散的计算方式,利用这些离散点,画出一条光滑曲线,就是假定的光波亮度函数的曲线了。
离散方式的求相位差法:
我现在说明一下相位差的计算方式。
重点是第二个点b2了,b2和b1是光周期相邻的时间点,但是b2在采样过程中是第ak个采样时间点。
本来按照我原意,当相同时间到达像曲面S1的时候,相邻位置y1和y2的相位差为(b2-b1)|y2 - (b2-b1)|y1。为什么(b2-b1)|y2 不同于(b2-b1)|y1,因为入射的方向不同,正向射入的话,在空间邻域内,光路径最短,相位的改变速度不同,这意味着在每个y位置,采样数量xn都不同,都要计算光波函数的点列。然后要求(b2-b1)|yn - (b2-b1)|y(n-1)这种相位差为横值,就解决问题了,y1,y2,..yn为极小邻域U上取的等间距的点列。但不是同时到达了像曲面S1问题又变了。尽管非常小的范围内,接近同时到达了,但是我不满意这个。具体的说法: 就是物曲面S1上的两个点x1,x2到达像曲面y1和y2的点所用的时间是不是一样的。我之前没有建立起来数学公式,还真的不知道。感觉时间相等的可能性不大。因为透镜还有不成像的情况,意味着光线永远平行,这个时间就无限长了。
那么利用一阶偏导数接近常数的说法可以再改一下,尽管在比较小的邻域U中,F(x,0)的亮度非常接近,但是到达像曲面S1之后,对于每个y,t的值是不同的,所以F(y,t)的亮度也不可能很接近了。那么只能利用波动程度来看待了。
考虑到上面的问题,使用连续函数的做法:
离散的做法效果不好,那就把光波函数点列F(y, b)拟合成光滑曲线F(y, b),再做一次。
做法就是G(y)=Fb(y, b)是关于y是连续的,Fb是F对b求偏导。 如果没有对上焦呢?似乎还是能够拟合成光合曲线,但是没对上焦的后果是关于y的改变频繁,反应在函数F(y,t)上就是尽管看起来光波扩散了,亮度平均了,即是值比较平均,但是对求t的一阶偏导数之后关于y的起伏尺度更多,这是显然的,因为多加了物曲面S的其他位置的光线--------假定从物曲面S上的一点x漫反射的所有光线,周期函数的一样的,除了方向不同之外,这是显然的,因为起点一样,只能最接近。
也就是说,对上焦的G(y)的对于y移动相同的距离,坡最少,而没有对上焦呢?坡就非常多,而且还是坡上有坡的那种。这里的坡是明暗的坡。上坡就是更亮,下坡就是更暗。
总结:
相位差稳定性这个说法不准确,但是确实跟相位有关,但是跟波动性有关。解释为像平移的最少明暗波动性更合理。
反应在数学上就是Gy(y)=0的y的个数在对上焦的时候最少,没有对上的时候比较多。但是这是连续数学模型的答案。按照数学模型,能观察到的尺度是无限小的,不合理,只能说大致是适用的。
后话:
人脑中真的有这个数学模型吗?需要二阶求导的模型,我之前认为人脑可以进行二阶运算的。现在还是这样认为,但是循环群的那个推导,我不确定了,要建立二阶求导,就需要有群论的概念,而且需要对每个成像的位置y都要计算采样数量,构造不同的循环群,然后获得光波点列F(y, b)。值得注意的是,虽然各个位置y的采样数量不同,但是是固定的,在第一次计算出来之后,以后只要保存这个值即可使用而不需要重新计算。同理,循环群的计算方式也只需要保存即可,不需要重新构建。但是y受到物距x的影响,意味着采样数量随着物距x变化而变化,这意味着人脑要存储大量的信息,才能获得对远景的视野,和微观视野。同时,为什么其他的电磁波看不到只能看到光波呢?因为并没有存储不可见光波的相关信息。人眼看不到其他的光不是因为感受器感受不到,而是大脑没有计算过程处理不了。
说实话,上面计算采样说明过于严格,毕竟是从数学推导的,实际上,如果对于聚焦不是非常精准的话,那么采样数量是在一定的范围内的,这样问题就简单了很多。只是改变了i的大小而已。
但是循环群这个概念虽然是最简单的数学内容,但是人脑真的有这样的结构数学的处理方式吗?至少这个结构数学不是对空间进行建模,至少无法否认,而且这个结构的处理方式非常简洁,只需要做一种变换即可。
但是一切的前提是眼睛的感受器是测量电矢量的瞬时值的,不然一切的讨论就没有意义了。如果是电矢量的在一个周期内的做功值,那么眼睛聚焦的方式是其他的,我暂且也想不到,不管了。暂且就讨论到这里吧,毕竟过于偏向数学构造答案的方式了,不太真实。但是数学模型构造出来了,并没有问题,即使眼睛的实现方式不同,这里也提供了一个聚焦的算法。也不算是瞎写。
这篇关于人眼是如何选择成像的(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!