二维拓扑关系分析与实践(7)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

2.3分明区域蛋黄模型RCC8

接下来在RCC5的基础上实现分明区域蛋黄模型RCC8程序。

2.3.1算法设计:

由于分明区域蛋黄模型RCC5程序已经考虑到扩展性,此部分保持程序风格不变,将继续使用类的继承,不过这次将对函数relateRcc()进行重载,使他返回一个标志位,标志“两矢量多边形的边或顶点是否有重合,或顶点是否在边上”,这样就可以更具体的区分:

DR(分离)――DC(不连接),EC(外部连接)

PP(真部分)――TPP(正切真部分), NTPP(非正切真部分)

PPI(反真部分)――TPPI(反正切真部分), NTPPI(反非正切真部分)

实现过程:

yolkRcc8.h

#include”yolk1.h”/*头文件*/

class yolkRcc8 :public yolk

{

protected:

int relateRcc();/*重载 yolk1.h 中的 函数 void relateRcc();*/

public:

yolkRcc8(int itmp,int jtmp):yolk(itmp,jtmp){}

~yolkRcc8(){}

int printRelate();/*重载 void printRelate()*/

};

对相应函数重载后,当relateRcc()返回值为1时,表示有相切;为0 表示相离。

这样也充分的利用了Superdotline.h(即其中的返回值3和4)。

实现技巧:

本部分之所以使用重载而非扩展,是为了减少计算量。虽然代码上有一些冗赘,但是为了整体风格,这些牺牲是可以忍受的。

实现效果:

操作形式与RCC5完全相同,输出RCC8情况的一种。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航