(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf_第1页
(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf_第2页
(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf_第3页
(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf_第4页
(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)scienceword中图形的可扩展描述研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华 中 科 技 大 学 硕 士 学 位 论 文 i 摘摘 要要 scienceword 是目前广泛应用于教育、科研等领域的科技文档字处理软件。为了 实现 scienceword 基于 xml 的开放文档格式 scienceml,必须对文档元素如文字、 图形、公式、化学结构式等逐一进行描述。然而 scienceword 在图形中引入了逻辑图 形的概念, 现有描述语言无法对其进行描述。 所以研究 scienceword 中图形的可扩展 描述 sciencesvg,具有一定的理论意义和实用价值。 除形状特征外,内部还蕴含逻辑关系的图形称为逻辑图形。逻辑图形主要表现 在其中的逻辑关系难于描述。通过对逻辑图形的基本概念、分析方法和约束理论的 研究,总结出了几何图形、函数曲线图形和学科图形三类逻辑图形,在分析现有图 形语言 svg 描述逻辑图形不足的基础上,将约束引入逻辑关系的描述,明确了 sciencesvg 的设计目标和所应研究的两个组成部分。其中逻辑图形描述部分主要对 三类逻辑图形的描述模型作了详细的研究,通过把逻辑图形蕴涵的几何关系、交互 性转化为约束进行描述,从而解决了逻辑图形难于描述的问题;基本图形描述部分 主要借鉴了现有图形语言 svg 在这方面的成功经验。这两部分通过建立坐标系统和 组织结构统一起来形成了 sciencesvg。 sciencesvg 及其解析引擎的成功实现,一方面可用于实际 scienceword 图形系 统的开发, 向 scienceword 软件扩充新图形时只需增加相应的 sciencesvg 描述数据, 而软件不用修改;另一方面使得利用 sciencesvg 描述的图形能够在任何基于 scienceword的平台上自由地展现, 促进了scienceword开放文档格式战略scienceml 的理论和技术体系形成与发展。 关键词关键词:科技文档,开放文档格式,逻辑图形,图形描述语言,约束 华 中 科 技 大 学 硕 士 学 位 论 文 ii abstract scienceword is the first unique scientific document word-processing software. it has been widely used in a wide range of fields such as education, scientific research and so on. to achieve the open document format of scienceword, it is necessary to describe every document element such as text, graphic, formula, chemical structure etc. but scienceword has introduced the concept of logical graphic in its graphics. so the existing description languages arent descriptive enough to the graphics. therefore, the extensive description of graphics in scienceword is valuable to be studied, it is named sciencesvg. in addition to external shape feature, the graphic also containing internal logic is called logical graphic. logical graphic is difficult to describe mainly because of its internal logic. through the study of basic concept, analysis method and according constraint theory of logical graphic, three types of logical graphic involving geometry graphic, math curve graphic and subject graphic were summed up. the lack of svg in description of logical graphic was cleared, and the constaint was introduced to description of logic in logical grphic. then the design objectives and the two important components of sciencesvg were determined. as one component of sciencesvg, description models of the three kinds of logical graphics were studied in details. in these models, the geometry logic and interactive behavior were indirectly described by translating to constraint. as the other component of sciencesvg, the description of basic graphic was mainly drawn on some successful experience of svg. after all these prepared, the two components were unified as sciencesvg through the coordinate system and organize structure. as a result, sciencesvg and its rendering engine, on the one hand, facilitate the development of graphics in scienceword. when expanding new graphics to scienceword, its only necessary to add description data but the software needs not be amended. on the other hand, it makes the graphics described by sciencesvg demonstrate freely on any platform based on scienceword, and also promotes the formation and development of scienceml. key words: scientific document, open document format, logical graphic, graphic language, constraint 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承 担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和 借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 华 中 科 技 大 学 硕 士 学 位 论 文 1 1 绪绪 论论 本章将介绍文字处理软件的发展历史及趋势, 并以此延伸到对 scienceword 文档 中图形的可扩展描述,阐明论文工作的研究目的和意义,在分析当前文字处理软件 及矢量图形描述语言的研究现状后,给出论文的主要研究内容。 1.1 研究目的及意义研究目的及意义 本课题来源于我国具有自主知识产权的科技文档字处理软件 scienceword 提出 的开放文档格式战略,即 sciceceml 战略。 随着人类社会的进步,知识经济已初见端倪,教育、科研等领域的活动在人类 社会中发挥越来越重要的作用。科技文档已经广泛应用于这些领域,但由于科技文 档信息表现形式复杂多样、元素结构复杂,一直是困扰文字信息工作者的难题。随 着科技文档数据量的增加,人们迫切需要一种高效和完善的处理方式。因此,提高 科技文档的数字化水平,使人们能够更加方便地处理科技文档,具有非常重大的理 论与现实意义。 全球唯一一款科技文档字处理软件 scienceword 的成功问世, 刷新了人们对文档 的认识,将科技文档的数字化与处理水平提高到了一个新的台阶,使我国文字信息 处理技术处于世界领先水平。 但是,近年来随着 web 应用的推动, “软件即服务”新的软件模式的兴起,信息 共享成为主流,文字信息处理面临着新的机遇和挑战,主要表现在文档格式向着开 放化的方向发展。最近几年来,各大文字处理软件厂商相继推出了基于 xml 的开放 文档格式, 例如微软在 word2003 版本中推出了 word 的开放文档格式 wordml。 2005 年 5 月,标准化的基于 xml 的办公应用文件格式 opendocument 成为 oasis 的一 个标准,并受到各大文字处理厂商的广泛关注。 开放文档格式代表着一种战略,它便于实现文档在多应用和多平台上的集成与 共享、以及文档基于 web 的及时发布与检索,是智能文档战略和“软件即服务”战 略的重要基础和前提。 智能文档典型的例子就是微软在 word2003 中推出的新的可编 程特性,智能文档设计可以带来诸多好处,例如在使用文档时为用户提供帮助,可 以连接到数据库以自动填写某些所需信息;可以与多种数据库交互,使共享信息变 得更容易; 可以使用工作流, 能自动将文档传送至处理过程的下一步。 “软件即服务” 典型的例子是 google 的在线托管字处理软件服务 writely, 用户能够方便地利用该服 华 中 科 技 大 学 硕 士 学 位 论 文 2 务创建和共享文档信息,由于文档采用基于 xml 的开放文档格式,所以非常便于在 web 上发布与共享,并可以充分利用 google 强大的网络搜索功能。 scienceword 字处理软件也不例外,为了顺应新的软件发展模式,所以提出了自 己的开放文档格式战略,即 scienceml 战略。scienceml 试图以基于 xml 可扩展的 方式对 scienceword 文档中的元素如文字、 公式、 图形、 化学分子式等逐一进行描述, 并形成符合科技文档的结构,有望成为科技文档的开放文档格式标准。scienceml 的成功实现将会给 scienceword 带来诸多优点, 例如使 scienceword 文档能够在多应 用、 多平台上自由地流通与共享, 使 scienceword 文档能够更容易地在互联网发布与 检索,方便于网上教学和研究工作。 scienceml 战略将 scienceword 基于 xml 的开放文档格式研究分解成几个小的 课题: (1)数学公式的可扩展描述; (2)化学符号的可扩展描述; (3)三维图形的 可扩展描述; (4)二维图形的可扩展描述,其中可扩展主要指基于 xml 的开放化与 可扩展。这些小课题的研究成果将以一定的结构进行组合,进而形成适合于 scienceword 的开放文档格式 scienceml。本课题属于其中第四个小课题,即研究 scienceword 中二维图形的可扩展描述即 sciencesvg。本课题的研究思路是:在 scienceml 战略思路的指引下,分析现有矢量图形描述语言 svg 的经验与不足,在 借鉴 svg 成功经验的基础上,以 scienceword 积累的科技文档理论为指导,充分研 究 scienceword 中图形的结构和特点, 开发适合于 scienceword 文档图形的可扩展描 述 sciencesvg。本课题研究 sciencesvg 的意义: (1) 图形是scienceword文档中重要的信息元素, 所以sciencesvg是scienceword 开放文档格式 scienceml 的重要组成部分, 它的成功实现将为 scienceml 战 略打下坚实的基础; (2) 由于采用 xml 技术,使得 scienceword 文档中的图形能够方便地在互联网 上传播与共享; (3) 在开发新图形时,具有交互的图形都可以直接使用 sciencesvg 进行建模, 然后导入到 scienceword 软件中自由地展现,为 scienceword 开发和扩展图 形提供了便利; (4) 设计 sciencesvg 时,还会充分考虑到对图形检索的支持,使得 scienceml 中图形检索很方便,有利于 scienceword 文档图形的检索与重复利用; (5) sciencesvg 不仅适合描述各种图形的形状, 而且还能精确描述它们内部的各 种复杂逻辑关系,可以不通过脚本编程就能实现图形的简单交互,对现有矢 量图形语言的发展具有一定的贡献。 华 中 科 技 大 学 硕 士 学 位 论 文 3 1.2 国内外研究状况国内外研究状况 本节将介绍文字处理软件、矢量图形描述语言的国内外研究现状,是本文研究 的技术背景。 1.2.1 文字处理软件文字处理软件 从国内来看,出现了满足于个人办公需要的通用字处理软件像金山 wps、永中 office,满足于教育、科研等领域并兼容通用文字处理的软件 scienceword,它能以 所见即所得的方式编排科技文书,大大提高了效率,以及满足于电子图书、印刷出 版行业的专业排版软件方正书版。 从国外来看,也出现了像 word、open office、abiword 等满足于个人办公需要 的字处理软件,满足于科技文书编排的专业处理软件 latex,它的主要缺点是不支持 所见即所得的编排方式, 以及满足于电子图书、 印刷出版行业的 adobe acrobat pdf。 但是近来年随着个人电脑应用的普及、教育科研等大众需求的推动、以及各种 新技术新应用的层出不穷,推动着文字处理软件不断向前发展。下面以主要产品为 例,来分析文字处理软件发展过程,并揭示文字处理软件的发展趋势。 (1) 纸张电子化和显示效果的稳定性 以国内方正书版、 国外 pdf 为代表的电子文档主要解决了纸张的电子化, 用 pdf 制作的电子书具有纸版书的质感和阅读效果,可以不依赖操作系统的语言和字体及 显示设备,阅读起来很方便,所以特别适合于人们一般阅读和出版的需要。这种类 型的文档侧重于外观描述,文档的组织结构只能精确到页面一级,页面一级以下的 元素不再具有逻辑结构,各元素只是简单地通过文档物理坐标来进行定位,所以这 种类型的文档逻辑结构性差,一旦生成将不便于修改。 (2) 重视工作成果的可复用性 以国内金山 wps 和永中 office、国外微软 word 为代表的个人办公软件将文档 上升到较高的抽象层次,文档的组织不再是简单地以页面为基本单位,而是被划分 成节、段、文字流、图片,表格、页眉等更细、更高级的基本元素,用户可以单独 对每个元素进行编辑而不影响整个文档的外观,文档的可复用性和可视化编辑成为 此类软件产品的主要特色。 (3) 处理的信息越来越抽象和丰富 全球唯一的科技文档字处理软件 scienceword,继承了个人办公软件 word 处理 文档的优点,将文档内的信息元素作了进一步的抽象和扩充,在更高抽象层次上管 华 中 科 技 大 学 硕 士 学 位 论 文 4 理数学公式、化学符号、学科图形等逻辑元素,这些元素不仅具有一般图形的显示 外观,而且自身还蕴含科技逻辑信息,信息元素从种类和数量上也越丰富。 (4) 朝着“软件即服务”的模式发展 近年来,由于基于 web 技术的推动,软件即服务(saas)模式的兴起,文字信 息处理软件面临着新的机遇和挑战。目前国内还尚未出现基于软件即服务模式的文 字处理软件应用,而国外的 google 公司于 2006 年 3 月收购了 writely 在线字处理软 件,并于同年 8 月 17 日开始允许任何人注册并使用它。google 并非国外唯一一家图 谋在线托管办公软件市场的公司,可以看出基于服务器的在线字处理软件是未来发 展的趋势。 (5) 文字处理与 web 技术的融合 文字处理软件必须和 web 技术结合起来,才能在新的软件服务模式下体现出顽 强的生命力。google 将 writely 定位为一款基于 xml、web 的在线托管字处理软件, 使得用户能够方便地创建、 交流与共享文档信息, 由于 writely 文档采用了基于 xml 的开放格式,所以非常便于在 web 上发布和检索,也能够充分利用 google 的网络处 理能力。 总的来说,随着信息化程度的日益提高,文字信息处理呈现新的发展趋势,比 如文档格式的开放化、处理的信息越来越抽象和复杂,还有和 web 技术、数据库技 术、工作流等的融合,特点是功能越来越丰富、完善,操作越来越简单1,人们可随 时随地的共享和处理文档信息。 1.2.2 科技文档字处理软件科技文档字处理软件 从国内来看, 我国具有自主知识产权的科技文档字处理软件scienceword的诞生, 推动了文字处理软件的发展,首次提出了非线性文档理论。可以将科技文档定义为 非线性文档,而一般文档定义为线性文档。非线性文档与线性文档有着本质的区别, 它不仅继承了传统线性文档的形式表现逻辑,同时也赋予了文档元素各种各样的行 为逻辑。任何文档元素都必须以一定形式表现出来,可以将文档元素在形式上的逻 辑表现定义为“形式表现逻辑” 。 但是科技文档中,文档元素在形式表现逻辑上所 呈现的多样性、随机性通常是在一定的“行为” (如:开方、平方、积分,外接,内 切等)控制下变化的,可以将这样的行为定义为“行为逻辑” 。利用 scienceword 软 件可以将科技文档中的文字、科学公式、表达式、曲线、几何图形、逻辑图在同一 份文档中一次性连贯地进行编排, 使教育和科技人员通过电脑处理复杂科技文档 (教 案、论文、试卷、作业题)的编写、排版、存储、检索、传送和交流,与其他文档 华 中 科 技 大 学 硕 士 学 位 论 文 5 编辑软件(或借助他方工具软件)相比平均提高效率 5 倍。 从国外来看,对科技文档的研究也曾有公司试图在这方面做出过努力,也取得 了很大的进展,但他们只是孤立地对其中某些要素进行研究,比如数学公式 mathtype,化学分子式等,却没有将它们整合到同一份文档中,所以最终没有形成 完整的非线性文档理论。 为了顺应新的软件发展模式, 科技文档字处理软件 scienceword 作为文字处理软 件的一种,其发展趋势也将是文档格式的开放化,以及和各种新技术新应用的融合, 如 web 技术、数据库技术、工作流等。 1.2.3 矢量图形描述语言矢量图形描述语言 从国内来看,还未曾出现过矢量图形语言流传较广或公认的标准,这当然与国际 上早就出现了公认的矢量图形语言标准是分不开的,国内绝大部分研究都是基于这 些国际矢量图形语言标准的应用。 从国外来看,矢量图形语言发展的早期是 postscript、pdf 页面描述语言。 postscript 是 adobe systems 所开发的一种页面描述语言,第一版于 1984 年发布,然 后逐渐成为高量文本和矢量图形的工业标准,现在已经发展到第三版。它是一种解 析型的图形描述语言,所描述的图形页面同时具备与设备和与设备分辨率无关的特 性。 portable document format (简称 pdf) 是另外一种页面描述语言标准, 也为 adobe systems 所开发,采用了类似于 postscript 的图形描述模型。早在 1998 年,w3c 开 始提议建立 web 上的矢量图形语言标准。考虑到 xml 被广泛作为 web 上应用的描 述语言,svg 1.0 设计成基于 xml 的推荐标准。svg 的图形描述模型较多地借鉴了 postscript,标签和属性受到了 vml 的影响2, 3。由于 svg 在矢量图形描述方面和 postscript、pdf 非常相近,所以两者都能非常容易地转化为 svg,例如构成矢量图 形的元素,如直线和曲线等都能在它们之间非常直接地进行映射4。 在信息化共享成为主流的今天,矢量图形语言主要以 svg 为代表,它得到了各 大厂商的广泛支持。由于不同应用和场合的需要,svg 本身也在不断地向前发展, 近年来出现了下面几个方面的研究热点和发展趋势。 (1) svg 的自适应展现5 为了使 svg 图形能够跟据不同的终端、环境进行自适应的调整,以达到最佳的 展现效果,如手机、pda 等小巧的设备,所以对 svg 进行了自适应的扩展,使得 svg 文档能够根据运行时的环境进行动态地自动调整,即自适应的展现。 (2) svg 文档的结构化2 华 中 科 技 大 学 硕 士 学 位 论 文 6 由于 svg 非常类似于页面描述语言,只是在较低的层次上对图形进行描述,除 了最基本的图形描述指令外没有其它较高级的语义结构信息。所以,当其它具有逻 辑结构的 xml 应用向 svg 进行转化时,这些逻辑结构都会丢失而只具有最终的表 现形式。为了使 svg 具有良好的文档结构,所以对 svg 的结构化进行了研究,使 其它具有文档结构的 xml 应用,如结构化的 pdf、html 等,向 svg 转化时不损 失逻辑结构,这样 svg 就更具有了成为新一代 web 页面描述语言的潜质。 (3) 基于约束的 svg 扩展6 虽然 svg 在图表的形状描述上面已经非常强大,但对于一些信息可视化的应用 却还是不够, 如某些应用对图形元素之间的位置关系有特定的要求, 基于约束的 svg 能够描述图形之间的关系,使得图形元素之间具有较高层次的空间约束关系,当展 现的环境发生变化时,图形元素之间的关系仍然能够得到维持。 1.3 本文主要研究内容本文主要研究内容 本文共分为五章,其中第二、三、四章为主体内容,下面按章顺序来分别介绍 本文将要研究的主要内容。 第二章研究逻辑图形的约束理论。 逻辑图形是 scienceword 软件所实现的一大特 色功能,同时也是图形描述所面临的挑战。图形内部的逻辑关系可以通过约束来进 行描述,所以必须对逻辑图形的约束理论进行研究,它是描述逻辑图形的理论基础。 第三章实现三类逻辑图形的描述模型。 通过对 scienceword 中图形及图形系统的 分析可总结出三类逻辑图形, 通过实现它们的描述模型从而完成 sciencesvg 的重要 组成部分即逻辑图形描述的设计。在实现图形描述模型的同时,为了达到复用的目 的,还将对建立图元的定义与引用模型进行研究。 第四章设计 sciencesvg 并实现其解析引擎。在设计 sciencesvg 的另一个组成 部分即基本图形描述后,通过建立坐标系统、组织结构从而把基本图形描述和逻辑 图形描述有机地给合起来形成统一的 sciencesvg。当 sciencesvg 设计出来后,必 须研究其相应的解析模块,将图形描述所携带的信息如基本形状、几何关系、数据 驱动、交互行为等从 sciencesvg 文档中提取出来并提供给 scienceword 平台自由地 展现。本章还对 sciencesvg 的模式描述语言 xml schema、sciencesvg 如何与 scienceml 进行融合作研究。 华 中 科 技 大 学 硕 士 学 位 论 文 7 2 scienceword 图形的可扩展描述图形的可扩展描述 scienceword(可简称为 sw)在开发图形方面最大的特点是引入了逻辑图形的 概念。 本章将介绍 scienceword 中逻辑图形的基本概念和它的分析方法, 讨论描述逻 辑图形所使用的约束理论,并在分析现有描述语言 svg 经验与不足的基础上,确定 scienceword 图形的可扩展描述 sciencesvg 的设计目标和所应研究的组成部分,并 给出实现 sciencesvg 的关键技术。 2.1 sw 中的逻辑图形中的逻辑图形 从图形内部是否蕴含逻辑关系来看,scienceword 文档中的图形分为两类:一类 是人们所常见的基本图形,图形的构成单一,仅仅具备外部的表现形式,内部不包 含逻辑关系;另一类图形满足科学信息可视化的需要,图形的表现形式往往与某一 科学概念相联系,图形自身就蕴含科学逻辑信息。例如,图形“两条直线平行”的 表现形式与几何概念“平行”相联系,当几何概念发生改变时,图形的表现形式也 会跟着发生变化。 2.1.1 非逻辑图形非逻辑图形 为叙述方便,上面提到的第一类图形称为非逻辑图形,此类图形的抽象层次较 低,仅包含基本形状信息。现有的描述方法是将此类图形分解为最基本的矢量图形 元素进行描述,如点、直线、曲线等,其集合关系为: 非逻辑图形 = 基本矢量图形元素 非逻辑图形较为常见,对于这类图形的开发和描述已有大量的研究。svg、 postscript、pdf 就是采用上面的构成方式对矢量图形进行描述。 在一些专业领域的应用系统中,如 gis 系统7,考虑到系统中图形的重用性和 开发效率,采用了一种叫做“图元法”8的分析方法来构建较为复杂的图形系统,其 集合关系为: 非逻辑图形 = 系统中的基本图元 系统中的基本图元 = 基本矢量图形元素 图元法的关键是对系统中的图形进行高度抽象、概括,抽取出系统中最基本的 图元, 并建立相应的图元符号库9, 10,再用这些图元符号组合出系统所要表达的所有 图形。 华 中 科 技 大 学 硕 士 学 位 论 文 8 2.1.2 逻辑图形逻辑图形 除了一般图形外,scienceword 文档中还有另一部分图形满足于科学信息可视化 的需要,这些图形自身就蕴含了科学逻辑信息。与基本图形不同的是,它们除具有 一般图形的形状特征以外,内部还蕴含逻辑关系。为了与一般仅具备形状特征的图 形相区别,将内部蕴含逻辑关系的图形定义为逻辑图形。 逻辑图形主要表现在一些图形内部具有约束关系,由于约束的存在,图形内部 元素之间不再是孤立静止的,而是会由此及彼地产生动态变化的效果,当其中某个 元素发生改变时其它元素也会跟着发生变化,以保持图形元素之间原有的约束关系。 下面是 scienceword 文档中常见的逻辑图形: (1) 数学函数曲线图形:这类图形根据函数方程和坐标系来生成,也可以根据二 维矩阵和一维向量数据来生成。无论进行怎样的移动、旋转、缩放等操作,图形将 始终保持函数或数据所描述的逻辑特征。图形的内部逻辑始终驱动着图形的外部展 现形式。 (2) 几何图形: 这类图形内部元素之间具有明显的几何逻辑关系, 如相交、 平行、 相切等。图形的外部形状特征,即“外部展现形式” ,必须满足于图形内部元素之间 蕴含的关系,如平行、相切、相交,即“内部逻辑关系” ,这样当图形中的某一元素 发生改变时,如被用户移动、改变大小等,其它元素也会跟着发生变化,以保证内 部逻辑始终得到满足。 (3) 交互式学科图形:这类图形与一般图形的不同主要表现在基于控制点的交互 性。当控制点被用户托动、发生改变时,图形的形状也会跟着发生变化,图形内部 的控制点和其它构成元素之间具有约束关系。 所以,scienceword 文档中的逻辑图形具有较高的抽象层次,用分层的思想来划 分11,图形可分为“外部展现形式”和“内部逻辑关系”两个层次,用式子表示为: 逻辑图形 = 外部展现形式 + 内部逻辑关系 外部展现形式 = 基本矢量图形元素 图形的外部展现形式受到图形内部逻辑关系的驱动,外部展现形式也必须始终 满足于图形的内部逻辑关系。 由于此类图形内部元素必须满足于一定的逻辑关系,所以采用“图元法”对此 类图形进行分析时,情况显得较为复杂。 从上面可以得出: 逻辑图形 = 基本矢量图形元素 + 内部逻辑关系 华 中 科 技 大 学 硕 士 学 位 论 文 9 由于内部逻辑关系的影响, “图元法”的分析方法显得较为复杂。在将图形分解 为图元时,若能将内部逻辑关系表示成不同图元之间的话,可以转化为下面的集合 表达式形式: 逻辑图形 = 基本图元 + 图元之间的逻辑关系 基本图元 = 基本矢量图形元素 几何图形就属于上面这种情况。有时系统中的图形无法分解为图元,也无法将 内部逻辑关系转化为两个图元之间,这就需要研究不同的表示法,以提高图形的复 用性以及开发的效率。 还有一种形式,学科图形就属于这种: 逻辑图形 = 基本逻辑图元 基本逻辑图元 = 基本矢量图形元素 + 内部逻辑关系 所以,逻辑图形的复杂性主要表现在它内部蕴含的逻辑关系,所以逻辑关系的 描述是本文研究的重点内容之一,为此下面一节将介绍逻辑图形的约束理论。 2.2 逻辑图形的约束理论逻辑图形的约束理论 约束(constraint)12是建立元素之间关系的重要工具,目前已经在图形设计领 域得到了广泛地应用。在逻辑图形中,约束又是开发和描述几何图形和交互式图形 的基础。所以,本节将主要讨论逻辑图形的约束理论,介绍约束的相关理论和目前 的应用情况,并探讨如何在描述逻辑图形中应用约束。 2.2.1 通用约束通用约束 约束 (constraints) 用于指定元素之间需要被满足的关系。 在基于约束的系统中, 用户可以利用约束来表达设计时所需要维持的某些关系。一个约束可用于指定一种 需要被满足的关系,约束的例子如下: (1) 指定一条直线显示为垂直的约束; (2) 指定一个计算机模拟的晶体管满足欧姆定律的约束; (3) 指定同一份数据的两个视图保持一致的约束。 约束在编程语言、用户界面设计、仿真模拟等系统中都有着广泛的应用。在基 于约束的系统中,程序员或用户可以利用约束来建立各种需要满足的关系,然后交 给系统中的约束求解13模块自动地实现和维持,而不必亲自去编写实现这些关系的 具体代码。所以,约束提供了一种简便的方法来表达设计时所要求的各种关系,而 关系的实现和维持在系统中被自动化了。 华 中 科 技 大 学 硕 士 学 位 论 文 10 【定义 1】一个约束系统包含两个集合:变量构成的集合 v 和约束构成的集合 c14。一个约束定义为集合 v 某个子集上的一个 n 元关系。每个约束都有一组方法, 任何一个方法的调用都能使该约束得到满足。例如,下面的约束: c = a + b 具有三个方法: c a + b b c a a c b 这些方法都将集合 v 中的某些变量作为输入,然后计算出剩余一个变量的值作 为输出,所以它们分别称为约束的输入变量和输出变量。在某个应用中,同一个变 量既有可能是某一约束的输出变量而又是另一个约束的输入变量,所以约束之间会 有可能形成前后依赖关系,系统会自动处理这种依赖关联,使它们都得到满足。一 个约束方法的执行使得某一输出变量的值被确定,只有当所有输入变量的值被确定 而输出变量的值未被确定时,该方法才有可能被执行,所以系统中约束方法的执行 是有一定顺序的。 【定义 2】约束求解就是确定系统中所有未知变量的值,这些值又满足所有的约 束条件14。约束求解的主要内容有: (1) 确定系统中哪些约束需要被满足; (2) 决定一个约束中的哪个方法被调用; (3) 确定以何种顺序来执行所有约束的方法。 约束求解是约束系统的核心技术,约束用于描述各种复杂的关系,约束的表达 能力直接受到系统中约束求解模块的功能和效率的影响15。所以,高效的、功能齐 全的约束求解算法一直被广泛地研究,针对各个领域、采用不同方法的约束求解算 法一直层出不穷16。 2.2.2 约束的应用约束的应用 由于很多系统中都采用了约束,所以约束作为一种通用的技术被广泛的应用和 研究。例如基于约束的文档布局17;基于约束的 svg 扩展18;基于约束的用户界面 设计19;基于约束的图表编辑20。约束特别适合应用于各种交互式图形系统21,包 括图形绘制22、用户界面构建23, 24、计算机辅助设计25等,下面是约束的一些应用。 图形绘制系统:目前图形绘制系统是最广泛应用约束的系统。例如,sutherland 的 sketchpad 是最早采用约束构建的绘图系统, 它允许用户用最基本的几何实体和约 束来构造复杂的几何图形,所提供的约束有很多,例如,指定两条直线为等长、一 个角为直角、点在线上、点在圆上等。当图形对象被重新编辑或布局时,sketchpad 华 中 科 技 大 学 硕 士 学 位 论 文 11 将始终维持对象之间的各种约束;在处理图形对象对齐时也会用到约束。传统图形 绘制系统中处理对象对齐时,对齐关系只被强制执行一次,即当对齐命令被执行时, 但当重新移动已对齐的对象时,其它对象却不会跟着移动。在基于约束的绘图系统 中,对象之间的这种对齐关系具有持久性,这样就减轻了重新调整所带来的负担。 交互式用户界面:在构建图形用户界面(gui)时,约束的强大功能已经被广泛 地应用。gui 中的约束主要用于图形界面元素的布局,一旦程序员用约束定义了界 面元素之间的布局要求,以后系统中约束求解模块将会自动的始终维持这种关系, 使得程序员从编写具体代码来管理元素布局的繁琐中脱离出来。约束也可用于在图 形对象和内部数据之间建立联系,也可用于管理内部数据之间的关系。 计算机辅助设计: 19 世纪 80 年代 , pro/engineer 产品首次采用参数化设计26-28, 几何约束问题被引入辅助设计领域,各种主要的 cad 系统都将几何约束求解29, 30 模块引入设计中,几何约束求解毫无疑问地成为计算机辅助设计的核心技术。 【定义 3】几何约束问题可用一个四元组(e, o, x, c)来表示31,其中: (1) e 是问题所在的几何空间,通常指欧式几何空间。 (2) o 是几何对象构成的集合,包括点、直线、圆、圆弧等问题域的几何对象。 (3) x 是变量构成的集合,可以为空,这些变量的值将被约束求解所确定。通常, 这些变量有具有明显的几何意义的值,如距离、角度等。 (4) c 是几何约束构成的集合,如约束:点与点之间的距离、直线与直线之间的 角度、两条直线垂直和直线与圆的相切等。 几何约束求解是指根据一定的算法作出一个或所有满足集合 c 的几何图形。 2.2.3 逻辑图形与约束逻辑图形与约束 逻辑关系是逻辑图形的重要特征,也是难于描述的部分。约束能够描述元素之 间的各种关系,几何图形中的几何关系、学科图形的交互性都可以通过建立一定的 模型转化为元素之间的约束进行描述,从而使问题得到解决。 几何图形中元素之间蕴涵的丰富几何关系,如平行、垂直、相切等,通过引入 作图规则后,都可以形式化表示为几何元素属性之间的约束,从而使问题转化为对 约束进行描述,详细情况可以参见下一章几何图形的描述部分。 学科图形的复杂性主要表现在基于控制点的交互,控制点的托动使得图形的参 数发生改变,通过引入变量,并建立该变量和图形形状元素之间的约束关系,从而 使交互性转化为这些变量和元素之间的约束,建立模型对这些约束进行描述即可, 详细情况可以参见下一章学科图形的描述部分。 华 中 科 技 大 学 硕 士 学 位 论 文 12 2.3 svg 描述逻辑图形的不足描述逻辑图形的不足 现有矢量图形描述语言 svg 在基本图形描述方面积累了不少可以借鉴的经验, 本节将对 svg 技术规范进行分析,以此来明确它在描述逻辑图形方面的不足。 2.3.1 svg 的来源及发展现状的来源及发展现状 svg(scalable vector graphics,可升级矢量图像)是一种基于 xml 的开放矢 量图形描述语言32-34。1998 年,w3c 联盟(world wide web consortium)收到了两 个关于新的图形格式的提案, 即 pgml 和 vml。 虽然 pgml 和 vml 都是使用 css 的 xml 向量语言,但二者却是相互竞争的对手。 为了更好地促进 xml 向量图形的发展,w3c 决定在融合两者优点的基础上, 开发一种新的语言即 svg。w3c 期望 svg 这种基于开放标准的可扩展语言,能够 满足 web 开发者对动态、 可缩放和平台无关的 web 内容表现和交互手段日益增长的 需求。2001 年 7 月,w3c 正式发布了 svg 图像格式建议书,这就是 svg1.0 规范, 到 8 月底成为 w3c 的正式推荐标准。 2.3.2 svg 的数据表现能力的数据表现能力 作为一种图形文件格式,svg 定义了一系列标识来描述二维图形,以下所列出 的是主要的元素标识: 元素定义了一个矩形,两组对边分别平行于用户坐标系的 x、y 轴。 元素使用圆心坐标值和半径值画圆。 元素定义了一个长短轴平行于用户坐标系 xy 轴方向的椭圆,椭圆 使用中心坐标和长短轴长度来描述。 元素定义了一条线段。 元素表示折线,也就是一批线段首尾相连而成的一组线条。 元素用顶点坐标值的组合来描述一个封闭的多边形。 元素可以是一个形状的外框,也可以是剪裁的路径线条。它可以被 描边,如果封闭的话可以被填充,上面各种基本形状的轮廓线都属于路径的范畴。 2.3.3 svg 的脚本与交互能力的脚本与交互能力 svg 作为一种适用于网络的图像格式,不仅仅在于它的体积小、易修改、可缩 放等与普通矢量图形一样的优点,还在于它添加有针对网络的交互功能,可以内嵌 脚本语言以达到复杂的交互效果。 华 中 科 技 大 学 硕 士 学 位 论 文 13 svg 内嵌脚本语言通过元素来实现。脚本除了可以顺序执行以外,往往 通过事件来触发。事件的定义是作为元素的一个属性出现的,属性值是要处理的脚 本程序段。 例如, 元素事件属性 “onfocusin=some_function(evtarg);” 定义了一个 “在 元素得到输入焦点激发程序 some_function”的事件。 下面分三种情况列出脚本中的一些主要的事件。 (1) 一般的可视化元素 对于一般的可视化元素(如形状、文字、路径等),其事件属性包括: onfocusin 该事件属性在该元素得到输入焦点时发生。 onfocusout 该事件属性在该元素失去输入焦点时发生。 onactivate 该事件属性在该元素被激活时发生。 onclick 该事件属性在该元素被鼠标单击时发生。 onmousedown 该事件在该元素上鼠标按键按下时发生。 onmouseup 该事件在该元素上鼠标按键松开时发生。 onmousemove 该事件属性在鼠标进入元素区域的一瞬间发生。 onmouseout 该事件属性在鼠标离开元素区域的一瞬间发生。 (2) 文档一级的元素 对于文档一级的元素(如元素),其事件属性包括: onload 该事件属性在文档被加载时发生。 onunload 该事件属性在文档被撤除时发生。 onabort 该事件属性在文档停止加载时发生。 onerror 该事件属性在一个元素或脚本出错时发生。 onresize 该事件属性在文档大小改变时发生。 onscroll 该事件属性在文档的显示区发生滚动动作时发生。 onzoom 该事件属性在文档被用户放大缩小时发生,只对最外层 元素有效。 (3) 实现动画的元素 对于实现动画的元素,其事件属性包括: onbegin 该事件属性在动画元素开始播放时发生。 onend 该事件属性在文档的显示区发生滚动动作时发生。 onrepeat 该事件属性在动画元素每一次重复播放时发生。 另外根据客户端解释程序的不同,svg 还可以支持包括“onkeypress” , “onkeyup” , “onkeydown”等键盘事件以及对鼠标光标形状的控制等功能。 华 中 科 技 大 学 硕 士 学 位 论 文 14 交互性是网络媒体的基本要求,使用脚本则是动态图形的主要实现方法,svg 的结合情况令人满意。 2.3.4 描述逻辑关系的不足描述逻辑关系的不足 上面对逻辑图形和 svg 技术规范的进行了分析, 流行的矢量图形描述语言 svg 在基本图形描述方面具有强大的数据表现能力,能够描述各种具有丰富外观的图形, 但对图形元素之间约束的描述却无能为力。其主要应用于 web 化的环境中,用在 scienceword 文档中却不适合,首先它不能描述图形内部的逻辑关系,与用户的交互 得通过脚本编程来实现,其次它的结构庞大不便于实现。在基本图形的描述上可以 借鉴现有的 svg 规范,但必须建立相应模型来描述逻辑图形的几何关系、数据驱动 和交互性。 2.4 sciencesvg 的设计目标的设计目标 sciencesvg 是实现 scienceml 的前提,是在对 svg 的特点进行详细分析的基 础上发展出来的。通过前面的分析和了解,scienceword 文档中的图形元素之间具有 各种复杂的逻辑关系,图形必须通过形式表现逻辑和行为逻辑共同加以刻画才能将 它们完整地描述出来,而 svg 在当初设计时并没有考虑到这些逻辑关系,它只是针 对图形的一般应用而设计的, 所以必须确定 sciencesv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论