如果说3D图形是对现实世界的还原,那么二维图形就是对现实世界的抽象。现在主流的图形建模就是这样一个抽象的过程。
图形的模型
图形与普通的关系表模型相比,多出的可不是一点点,对于一般的属性关系暂且略去。图形可以产生可视化效果,而且是一种数学表达。因此,许多图形API都能通过一系列指令集来描述图形。图像显然不具有这种能力,存储上自然没有图形有优势。对图形的表达方式的选择,一般分为点、圆、三角、框、直线、弧、曲线、面、曲面、三角扇等。各种图形软件都有自己的图形模型集,如AI里的Path,CAD里的弧,CorelDraw里的贝兹尔曲线。地理信息一般用Geometry作为图形的基类,平面设计用的是Shape。图形一般存在于一种特定的参考系中,通过坐标方式记录,如果在另一种参考系中观察图形,它的坐标就变化了。数据库中的记录的都是些坐标串。
图形的表现
坐标串并不直观,将图形绘制在屏幕上或打印在纸张上才能直观的观察。有很多的新概念被加入了进来:如绘图、视口、比例、坐标变换。可以形象的理解为图形放在一个介质上,从不同的角度、远近等去观察它。为了丰富图形的可视化表达,用画刷、画笔等来表现图形,蕴含其中的是各种样式:如点符号、线样式、填充样式等。这些样式又可以再进行组合得到更多的样式,如复合样式、多线样式等。样式与图形模型进行对应时,有很多种对应关系:独立、实例、参考等。对于样式进行科学的组合又可以给人比较、区别、联想的视觉效果。如行政区地图可以区别不同的行政区,黄色提示危险,绿色联想到春天等。
图形的关系
图形除了具有外观,图形间还具有各种关系。如父、子、组、兄弟等,除了这些模型关系,还有空间关系。传统的sql查询部分一般提供运算操作符、逻辑操作符等支持,当扩展到图形之后,加入许多空间关系的查询,如包含、相切、连接、联通、相交等。这些空间关系具有唯一性,有明确的数学定义,但图形给定后,关系是确切的,是可以计量的。
图形软件的架构
图形软件常用的架构为插件式架构,host提供插件运行的环境,插件提供具体的功能。图形软件的host以一个大的图形展示窗口和数量繁多的图形工具面板为特色。图形操作一般是交互式操作,操作者通过观察交互结果得出结论,打印表格等。