“与图形结构无关”的矢量绘图算法

原创 2004年02月20日 11:09:00

 “与图形结构无关”的矢量绘图算法

本文作者 徐庆荣(武汉大学)


1.  何谓图形结构


这里是指符号图案中各图元(几何图形)及相互间的组合方式。符号图案则是线状符号(例如道路,境界,河流等)或面状符号(如土壤,地质,植被,水域等)中的一个重复单元。通常,线状符号或面状符号都是由这种图案连续串接或拼接而成的,故图形结构也就是线状符号的线型或面状符号的填充型。


2. 基于图形结构的矢量绘图算法


至今,各种制图软件的矢量绘图算法均基于图形结构,即针对不同图形结构(线型或填充型)须分别编制各矢量绘图函数。因此,一些商品矢量制图软件都不具有绘制任意线型或任意填充型的功能。图形结构是个变数,可有无数种形式及其组合,且日新月异。在基于图形结构的矢量绘图算法中,图形结构与绘图函数的关系是N:N,即N种图形结构须对应有N个绘图函数,而N可能有任意多,为不确定数。可见,矢量绘图函数的编程量和维护工程量是无法估量的。


3. “与图形结构无关”算法及其基本原理


在“与图形结构无关”的矢量绘图算法中,图形结构与绘图函数的关系是N:1,即N种图形结构只须1个绘图函数,无论何种图形结构(任意线型或任意填充型)始终用此同一绘图函数,省去巨大的编程量和维护工程量。这种算法的无比优越和广阔前景是不言而喻的。


“与图形结构无关”算法的对象是点而不是整个图形结构。将符号图案离散化成一系列点(含色彩及关联标志等),绘图输出过程便是图案空间向制图空间逐点拓扑映射的过程(映射前后,图形点间的拓扑关系保持不变)。正因为算法的对象是点而不是整个图形结构,所以同一绘图函数能适应任意线型或任意填充型。


4.“与图形结构无关”算法的绘图示例


下图纯属虚构,含各种复杂的符号图形(点状的,线状的,面状的),均用同一绘图函数输出,耗时不足5秒。



5. UGS(通用绘图软件)采用了“与图形结构无关”算法


UGS含矢量绘图和图面注记二部分,其中绘图模块采用了“与图形结构无关”算法。


UGS是图形工具类软件,面向矢量图形软件开发者,适用于绘制各种图件,尤其是地图绘制。


UGS发布于CSDN(图形与多媒体大类,图形处理小类),下载处:

http://www.csdn.net/cnshare/shtm/18.shtm


联系:可在CSDN论坛向xqr发短信息。


 

算法(2)

上篇算法(1)一、函数的渐近增长 函数的渐近增长:给定两个函数f(n)和g(n),如果存在一个整数N, 使得对于所有的 n > N, f(n)总是比g(n)大,那么,我们说f(n)的增长渐近...
  • wojiaoweide
  • wojiaoweide
  • 2017年12月20日 15:58
  • 85

什么是高速缓存参数无关算法?

什么是高速缓存参数无关算法?  http://cs.tju.edu.cn/faculty/zhangkl/aboutme/aboutcoa.pdf 算法导论  视频  http://www.cpsc...
  • ajian005
  • ajian005
  • 2016年10月26日 15:07
  • 1555

39:与7无关的数

原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有...
  • mayuan2017
  • mayuan2017
  • 2017年09月09日 20:35
  • 333

51Nod-1082-与7无关的数

ACM模版描述题解这道题如果暴力解题,超时是一定的,所以需要用到打表来解决。这里需要注意的是数据溢出问题,开始时因为忽略了这个问题,i * i时发生了数据溢出,所以导致大数据测试数据系数WA,找了好久...
  • f_zyj
  • f_zyj
  • 2016年07月30日 16:28
  • 882

为什么说Java语言是平台无关的

一、平台与机器指令        无论哪种编程语言编写的应用程序都需要经过操作系统和处理器来完成程序的运行,因此这里的平台是又OS和CPU所构成的,所谓的平台无关就是指软件的运行不会因操作系统、处...
  • newmemory
  • newmemory
  • 2017年02月09日 19:34
  • 1546

动态库与位置无关代码

静态库的缺点: 1 链接后产生的可执行文件包含了所有需要调用的函数的代码,因此占用的磁盘空间较大。 2 如果有多个(调用相同库函数的) 进程在内存中同时运行,内存中就有多份相同库函数代码,故占内存...
  • huyoufu200920201078
  • huyoufu200920201078
  • 2014年12月07日 21:22
  • 678

Java的平台无关性

什么是JVM? 1,http://developer.51cto.com/art/201009/227029.htm JVM所指的就是Java虚拟机。Java正是凭借Java虚拟机来实现其平台...
  • qinpengtaiyuan
  • qinpengtaiyuan
  • 2014年11月14日 15:23
  • 1747

windows程序设计学习笔记-设备无关位图

GIF,JPEG格式压缩了图像数据。DIB一般都不压缩。 Windows API直接支持DIB。 DIB提供了一个用来交换图像的文件格式。Windows应用程序用到的位图一般作为DIB,存在可执行...
  • x13262608581
  • x13262608581
  • 2016年07月08日 07:06
  • 629

【翻译】第七章节:顺序无关的透明度(关于顺序无关的混合)

转载地址:http://www.omuying.com/article/95.aspx 原文地址https://en.wikibooks.org/wiki/Cg_Programming/Unity/O...
  • u013354943
  • u013354943
  • 2016年08月18日 17:38
  • 694

一个证明了返回值与重载无关的小练习

public static void print99(int num){ for(int a=1;a for(int b = 1;b System.out.print(a+"*"+b+"="+a...
  • u014098982
  • u014098982
  • 2014年10月21日 20:45
  • 262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:“与图形结构无关”的矢量绘图算法
举报原因:
原因补充:

(最多只允许输入30个字)