子域分解

获得描述几何模型的关键矩阵gd, ns和sf后,利用它们,通过decsg函数可以将研究区域分解为最小子域,并得到一个用离散几何矩阵表示的离散几何模型。该函数的语法格式为:

dl=decsg(gd, sf, ns) 把几何描述矩阵gd描述的CSG模型分解为离散几何矩阵dl描述的离散几何模型。其他参数ns和sf在1.4.2小节有详细介绍。

dl=decsg(gd) 返回所有最小子域。

[dl, bt]=decsg(gd)和[dl, bt]=decsg(gd, sf, ns) 另外返回一个布尔表bt,该表将原区域对象和最小子域联系起来。bt中的列对应于gd中具有相同编号的列,bt中的行对应于一个最小子域编号。

离散几何矩阵dl包含decsg函数创建的最小子域表示的离散几何模型。最小子域的每条边对应于dl的一列。这里将最小子域之间的边界线称为边线段,将外部边界称为边界线段。在每个这样的列中,第1行表示边线段的类型,第2行和第3行包含起点和终点的x坐标,第4行和第5行包含起点和终点的y坐标。第6行和第7行包含左右最小子域的标签,标签可以指示由起点和终点推出的方向(对于圆和椭圆线段则按逆时针方向)。最小子域中有3种可能的边线段类型:

对于圆边线段,第1行为1。第8行和第9行包含圆心的坐标。第10行为圆的半径。

对于直线边线段,第1行为2。

对于椭圆边线段,第1行为4。第8行和第9行包含椭圆中心的坐标。第10行和第11行分别为椭圆的半轴a和b。椭圆的旋转角度被保存在第12行中。

用各列数据集成离散几何矩阵时要求各列具有相同的长度,长度不够时用0补齐。

【例3】1.4.1小节获取了几何模型的关键矩阵gd, ns和sf,在此基础上用decsg函数进行子域分解,获取离散几何矩阵dl。

code.matlab
>> dl = decsg(gd,sf,ns)
dl =
  162.0000    2.0000    2.0000    2.0000    4.0000    4.0000
    0.8717    0.8717   -0.9638   -0.9638   -0.0082    0.4342
    0.8717   -0.9638   -0.9638    0.8717    0.4342   -0.0082
    0.5312   -0.4589   -0.4589    0.5312   -0.1563    0.0296
   -0.4589   -0.4589    0.5312    0.5312    0.0296    0.2155
         0         0         0         0         0         0
    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000
         0         0         0         0   -0.0082   -0.0082
         0         0         0         0    0.0296    0.0296
         0         0         0         0    0.4424    0.4424
         0         0         0         0    0.1859    0.1859
         0         0         0         0         0         0
  784.0000    4.0000
   -0.0082   -0.4506
   -0.4506   -0.0082
    0.2155    0.0296
    0.0296   -0.1563
         0         0
    1.0000    1.0000
   -0.0082   -0.0082
    0.0296    0.0296
    0.4424    0.4424
    0.1859    0.1859
         0         0

可见,离散几何矩阵共有8列,包含8条边线段(4条直线边线段和4条椭圆边线段)的数据。各列数据的构成方法请参考示例上面介绍的规则。

使用pdegplot函数可以用离散几何矩阵绘制几何模型的图形。将EdgeLabels和FaceLabels参数的值设置为'on',在图中显示边线段和面的标签。

code.matlab
>> pdegplot(dl,'EdgeLabels','on','FaceLabels','on')

绘制几何模型的图形如图4-2所示。

Document Image
\[\]

图4-2 几何模型的图形