数据结构

Navigation:  III. 基础概念 >

数据结构

Previous pageReturn to chapter overviewNext page

 

基础概念->数据结构

可视化的主要目的是生成有助于用户理解和分析某种现象和过程的图像。这些现象既包括自然现象也包括人为控制现象,也需要采用多种物理量来描述和建模。这些物理量可以是直接测量的数据,也可能是软件模拟生成的数据。从数据表达的角度看,这些量可以划分为如下两个基本类型:连续数据和离散数据。前者的常见例子包括压强、温度、浓度、位置、颜色等;后者的常见例子包括纯文本、软件代码、html媒体等。虽然EnviFusion提供了一些零散工具可以用来描述离散数据,但主要是用来描述连续数据的软件。

 

维度

EnviFusion中的数据对象包含两种维度范畴。对象所处空间的维度d称为几何维数,其本身内含的维度s(s<=d)称为拓扑维数。举例来说,三维空间中的曲面,s=2,d=3;而三维空间中的曲线,其s=1,d=3。拓扑维数可以认为是表示数据对象所需的独立变量数。例如地球表面是三维空间中的二维实体,其上任意一点可以使用经度和纬度定义。EnviFusion中的几何维数恒定为3,因此,可视化数据中唯一变化的是拓扑维度s。实际应用中,s可以为0、1、2、3,分别对应点、曲线、曲面、和体数据。由于拓扑维数是唯一的变量,因此拓扑维数又称为数据集维数。

实际应用中,对时变数据集进行建模需要s=4个维度,这并不现实,所以EnviFusion中的做法是使用一个3维数据系列来近似表达表达这种数据,而系列的索引就对应于时间维度。

 

属性

EnviFusion数据体标记了四维时空中的确定特征,这些特征称为数据属性。举例来说,一次环境采样对应四维时空中的一个点,其采样分析结果即为这个时空点上的属性。假如我们分析了20种元素和化合物,那么此数据体的属性维度即为20。数据属性按类别分为标量属性、向量属性、颜色属性、张量属性、和文字属性。下面依次介绍。

 

标量属性

标量属性是一维属性,仅有大小而没有方向,是最简单也是最普遍的可视化数据。EnviFusion仅支持实数标量。标量属性可用于多种物理量的编码,如温度、浓度、压强、密度等。

 

向量属性

向量(矢量)数据一般具有二维或三维属性,在有些情况下,比如指定输出组分数量的主成分分析操作,可以自由指定向量维度。向量属性一般用于编码位置、方向、压力,或者标量函数在三维空间中的导数等。在三维方向上一般用三维数组表示,如{0,3,4}代表一个矢量,其在X、Y、Z方向上的分量分别是0,3,4。一般而言,向量具有朝向和强度两种特征。如果这些向量表示隐函数的归一化导数,这些单位向量也称为法向量。二维曲线的法向量是一个二维向量,三维曲面的法向量是一个三维向量。

 

颜色属性

EnviFusion中的颜色属性一般为三维向量,用来表示可在计算机屏幕上展示的颜色。不同的颜色空间中,颜色向量的三个分量具有不同含义。关于颜色空间的解释请参见调色板章节。

 

张量属性

从广义来讲,标量是一种零阶张量,而矢量是一阶张量;三维矢量就是三维空间中的一阶张量。进一步讲,如果对一个三维矢量(一阶张量)在三维空间中求梯度,将会得到一个三维空间中的二阶张量,这是一个3X3的阵列,共有九个组分。EnviFusion最多支持3X3的二阶张量。

 

文字属性

文字类属性没有一般性的向三维空间映射的途径,但EnviFusion中包含一些工具,可以将文字显示在渲染窗体中。