美文网首页图形化语法
1.3 面向对象的图形系统

1.3 面向对象的图形系统

作者: bigfacewo | 来源:发表于2019-10-09 09:58 被阅读0次

图是一组点,数学上的图形是不能被看到的。 这是一个抽象。 但是,图是图形的物理表示。 这种表示是通过实现具有大小或颜色等美学属性的图形来完成的。

面向对象的图形系统需要针对这些实现的明确定义和规则,以将它们与数据相关联并在计算环境中组织其行为。 如果幸运的话,该图形系统应该具有通用性,但仍将基于一些简单的对象和规则。 本书试图揭示这种系统的丰富性。

从OOD角度来看,图形是对象的集合。 如果这些对象之间的消息遵循简单的语法,则它们将表现出一致且灵活的行为。 为了介绍这个想法,我们将集中在图形创作的三个阶段:

  1. Specification 规范
  2. Assembly 部件
  3. Display 显示

在介绍了这些阶段之后,我们将通过示例展示它们如何工作。

1.3.1 规范

规范涉及将用户操作翻译成正式语言。用户可能不知道该语言,但是自动化系统需要该语言才能理解图形请求。定义规范的另一种方法是说它是图形的深层语法。与图片不同,图形具有高度组织和受约束的规则集。图片当然有其自身的规则,尤其是真实的图片,例如照片和录像带(Biederman,1981年)。尽管如此,艺术家仍然有特权改变规则来表达观点(显然是博世,达利或毕加索,但伦勃朗,塞尚或克洛什也是如此)。特殊效果技术人员可能会使用技巧使我们认为视频或虚拟场景比我们在日常生活中观察到的更加真实。图形并非如此。我们只有一些规则和工具。如果不撒谎我们的数据并且不违反统计图形的目的-准确而适当地表示数据,我们就不能更改点的位置或对象的颜色(假设这些是数据表示的属性)。因此,图形系统的核心必须基于规范。

统计图形规范用六个语句表示:

  1. DATA:从数据集中创建变量的一组数据操作,
  2. TRANS:变量转换(例如等级),
  3. SCALE:比例转换(例如对数),
  4. COORD:坐标系(例如,极坐标),
  5. ELEMENT:图表(例如点)及其美学属性(例如颜色),
  6. GUIDE:一个或多个指南(轴,图例等)。

在本书的大多数图中,我们将添加图形的语法规范,以使定义明确。 该规范语言的早期版本(Wilkinson,1996)将所有方面都整合到一个代数中。 但是,这种表示法笨拙且特质,因此我们将它们分为几个部分。 这些组件将数据链接到对象并指定包含这些对象的场景。

1.3.2 部件

场景及其描述是不同的。 为了描绘场景,我们必须协调其几何形状,布局和美学,以便准确地渲染它。 统计图形计算机程序必须能够以与绘图或建模程序将规范组件中的真实场景放在一起的方式相同的方式,从规范中组合图形场景。 本书比规范装配更多的是关于规范的,但是在学习规范的同时考虑装配很重要,这样我们才不会将表面特征与深层结构混淆。 我们如何根据规范构建场景会影响结果的行为。 场景可以是动态的或静态的,可以链接到外部数据,也可以是隔离的,可修改的或不变的,这取决于我们如何组合。

1.3.3 显示

为了让我们感知,必须使用美学属性和显示系统(例如,纸张,视频,全息图)绘制图形。 现代操作系统最好通过定义明确的抽象界面来提供对渲染方法的访问。 除了基本的绘图功能外,生产图形在该领域几乎不需要。 相比之下,动态图形和科学可视化需要复杂的设计,以实现刷,下钻,缩放,链接以及将数据与图形相关的其他操作。 Becker和Cleveland(1987),Cleveland和McGill(1988),Cook和Weisberg(1994),以及Swayne等人。 (1998)介绍了这些问题。 最近,虚拟现实显示器和身临其境的环境将可用的美感扩展到了触摸和声音。

相关文章

  • 1.3 面向对象的图形系统

    图是一组点,数学上的图形是不能被看到的。 这是一个抽象。 但是,图是图形的物理表示。 这种表示是通过实现具有大小或...

  • java基础-day10-面向对象4.0

    面向对象4.0 1. 面向对象之继承 1.1 生活中的继承 1.2 Java中的继承 1.3 子类对象创建,会调...

  • 2018-06-28

    五 面向对象的分析和设计 信息系统复习 面向对象的开发过程 Uml语言是一种可视化的图形符号建模语言,利用它可以进...

  • 面向对象

    为什么要学习面向对象(面向对象思想) 面向对象奇数是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设...

  • 初级06 - Java对象系统基础

    面向对象系统更加符合人对客观世界的抽象感知,作为面向对象语言的佼佼者,本篇是关于 Java 的面向对象系统。 构造...

  • 【Java】01 Java基础 - 本文集说明

    Java_1.1_Grammar(基础语法)Java_1.2_Oriented(面向对象)Java_1.3_Exc...

  • 老掉牙,但永不过时的面向对象——继承

    几乎所有语言都有面向对象的概念,JavaScript 的面向对象实质是基于原型的对象系统。说到面向对象,不得不提的...

  • 面向对象方法基础

    面向对象: 用等式解释:面向对象=对象+分类+继承+通过的消息通信采用这四个概念开发的软件系统就是面向对象的 对象...

  • Java类和对象

    Java类和对象 类 面向对象和面向过程 面向对象:Object Oriented把系统中需要处理的数据和这些数据...

  • 深刻理解Javascript中的原型系统

    在Brendan Eich大神为JavaScript设计面向对象系统时,之所以选择基于原型的面向对象系统,并不是因...

网友评论

    本文标题:1.3 面向对象的图形系统

    本文链接:https://www.haomeiwen.com/subject/nrzfpctx.html