计算机与维度

          计算机无论保存什么数据,其实都是以一维的方式保存的,无论存储器的物理形态如何,为了方便处理,计算机的所有数据都是以一个长串保存着。那为何它能保存和显示各种三维数据甚至表达n维数据呢, 无论音视频都可以保存和再现呢?其实这只不过是机械性底降维和升维的一种现象。

物体的近似数字化和降维操作


        我们来看看三维物体如何变成计算机上存储的一维数据呢?
        我们可以进行这样的想象来理解。首先,假设现在有一个三维不规则物体,例如一个石头,如何表达成一堆数据呢?你可以先使用一种1立方毫米的半透明正方体,组成一个刚好比它大的立方体,然后使两者重合,物质能充满立方体超过或等于1半的地方记录1,不足的记为0。取出物体,这时发现物体就被近似的0和1记录住了它的形体了。这是采样和量化,使得一个连续物体变成一个满足理想精确度但又不会数据量太大的离散模型。
         数字化之后,就是降维操作。我们可以 按1立方毫米的厚度,把这个二进制立方体它分成一片片,这样一个三维物体,就直接变成了多个离散的二维表。然后每张二维表,每行头部之前加头部标记,尾部之后加尾部标记,首尾相接,使得每张二维表变成一个一维二进制串。然后每一串二进制串的头部都加一个自己属于哪张表的标记,再首位相接成一个大串。三维物体的形体,就此以黑白(二进制)的形式可以以近似一维的方式存储于计算机啦。
        然后,我们已知我们能看到的色彩都是由红绿蓝不同比例构成的,因此我们想保存改物体的色彩时,可以以每个格子的颜色深度值来记录下这个物体的颜色。例如,用256种颜色深度种类(2^8次方,刚好8bit一个字节)来记录红色,也是利用多退少补的方式,把格子本来有无限种色深可能以256种深度近似记录下来,然后再降维成一维数据,就能在计算机这种一维逻辑存贮结构种,保存下整个物体的红色分布。然后绿色、蓝色也是同样的操作。

数据的升维输出
: 
        按照多份一维数据串,按照首尾的各类标记,可以重新将其拼为二维表,再拼成三维物体。然后在3D大型等场合呈现,或者通过“投影”计算显示在二维的屏幕上。


         其实这就是微分、积分的不精确的机械版。但由于过程足够简单和机械,才使得计算机能够轻易实现,人们可以缩小量化尺度,来不断提高精度到可以接收的程度。
  

       
类似的思想还有音频的数字化然后记录到计算机的过程:
       声音本来就是一个比物体、图像记录起来简单得多的东西,因为声音通过麦克风之后,得到的是仅仅连续的电压变化,我们可以每1微秒为一个间隔作为一个单位,用65536种可能(2个字节16bit,2的16次方)来近似的逼近无限的电压变化,使其变成一个离散的声音大小串。(当然打后还可以再通过傅里叶变换算法,去掉一些微小波形对数据进行不保持原样的有损压缩)。当然,可以多加几个传感器和麦克风多记录几份。
      和声音记录一摸一样的记录还有各种各样的波,例如压力波、电压电流变化等等。全都是量化尺度越小越精确,但对计算机的性能和存贮空间要求越高。


抽象物、逻辑结构的降维输出

        例如n叉树的存储,可以对每层结点进行唯一的标记,然后用标记来记录父子连接和权值。作为一堆带标记的一维字节串保存于存储器中。如果是逻辑结构的存储有什么难度的话,应该是难在能找出所有结点的联系和内容并记录的遍历算法的编写上。


      以上是最粗糙和原始的物体、图像如何存进计算机的做法,仅仅作为一种复习记录于此,如有不对欢迎指出。


最后


      说一个细思极恐的东西,假如我们实际是某种计算机里面运作的程序的一部分,而且这个计算机原理和我们的电子计算机差不多,那么我们本质,也是一维的,但是我们永远都不会感觉到这一点的哦。

猜你喜欢

转载自blog.csdn.net/cjzjolly/article/details/79364994