China-pub.com 下载 第25章图形化革命 1945年9月10日,《Life》杂志的读者看到的大多是平常的一些文章和照片:有关第二次世 界大战结束的故事,舞蹈家Ⅴ aslav Nijinsky在维也纳生活的报道,一则有关美国汽车工人的图 片报道。但那一期的杂志也有意想不到的东西:一篇 Vannevar bush(1890-1974)的关于科 学研究的未来的展望性文章。 Van bush(人们这样称呼他)在计算机历史上写下了重要的 笔。在1927年~1931年任麻省理工学院工程教授期间,他设计了一种具有重大意义的模拟计 算机一—微分分析器。1945年,在《Life》杂志发表这篇文章的时候,BuSh是科学研究和发展 部的主管,负责协调美国在战争期间的科学活动,包括曼哈顿计划。 通过对两个月前第一次发表在《 The AtLantic Monthly》上的那篇文章的精简,Bush在 《Life》杂志上的文章《 As We May Think》描述了未来一些假想发明,希望科学家和研究人 员解决日益增多的技术杂志及文章。Bush谈到了作为一种解决方案的微缩胶片,勾划出了 种他称之为 Memex的设备来保存书、文章、记录和书中的图片。 Memex也可根据人们所想 到的关系在这些东西之间建立有关某个主题的联系。他甚至设想出了一个新的职业群体,他 们可在大量的信息载体之间牢固地建立起联系 尽管描绘未来光辉前景的文章在20世纪很普遍,但《 As We May Think》则不同,它描述 的既不是关于减轻家务负担的设备的故事,也不是关于未来交通运输或机器人的故事,而是 关于信息及如何用新技术处理信息的故事。 从第一台继电器计算器制造出来已经历了65年,计算机变得越来越小、越来越快,也越 来越便宜。这种趋势已改变了计算机的本质。当计算机越来越便宜时,每一个人都可拥有自 己的计算机。计算机越小、越快,软件则变得越高级,同时机器可以完成更多的工作 更好地利用这些额外功能和速度的一种方法就是改进计算机系统中至关重要的部分,即 用户接口—人和计算机的交互点。人和计算机是差别很大的两种物质,但不幸的是,说服 人们调整以适应计算机的特性是比其他方法更容易的方法 早先,数字计算机根本上不是交互式的。有些使用开关和电缆编程,有些使用穿孔纸带 或胶片编程。到20世纪50年代和60年代(甚至延续到70年代),计算机进化到使用批处理:程 序和数据穿孔成卡片,然后读入到计算机内存,程序分析数据,得出一些结论,再在纸上打 印出结果 最早的交互式计算机使用的是电传打字机。如前一章讲到的 Dartmouth分时操作系统(始 于20世纪60年代早期)支持多个电传打字机,可以同时使用。在这样的系统里,用户在打字 机上敲一行,计算机以回答一行或多行作为响应。打字机和计算机之间的信息交流全部是 ASCIi码流(或其他字符集),除了像回车换行这样简单的控制码外,差不多全是字符代码。 事务只是按纸卷的方向进行 然而,阴极射线管(在70年代就已经很普遍了)则没有这些限制。可以用软件以更灵活 的方式来处理整个屏幕。然而,可能是为了设法保持显示器输出符合操作系统的显示输出逻 辑,早先为小型计算机编写的软件不断地把CRT显示器作为“玻璃打字机” 行一行地显
下载 第25章 图形化革命 1 9 4 5年9月1 0日,《L i f e》杂志的读者看到的大多是平常的一些文章和照片:有关第二次世 界大战结束的故事,舞蹈家 Vaslav Nijinsky在维也纳生活的报道,一则有关美国汽车工人的图 片报道。但那一期的杂志也有意想不到的东西:一篇 Vannevar Bush(1 8 9 0-1 9 7 4)的关于科 学研究的未来的展望性文章。 Van Bush(人们这样称呼他)在计算机历史上写下了重要的一 笔。在1 9 2 7年~1 9 3 1年任麻省理工学院工程教授期间,他设计了一种具有重大意义的模拟计 算机—微分分析器。1 9 4 5年,在《L i f e》杂志发表这篇文章的时候, B u s h是科学研究和发展 部的主管,负责协调美国在战争期间的科学活动,包括曼哈顿计划。 通过对两个月前第一次发表在《 The AtLantic Monthly》上的那篇文章的精简, B u s h在 《L i f e》杂志上的文章《 As We May Think》描述了未来一些假想发明,希望科学家和研究人 员解决日益增多的技术杂志及文章。 B u s h谈到了作为一种解决方案的微缩胶片,勾划出了一 种他称之为 Memex 的设备来保存书、文章、记录和书中的图片。 M e m e x也可根据人们所想 到的关系在这些东西之间建立有关某个主题的联系。他甚至设想出了一个新的职业群体,他 们可在大量的信息载体之间牢固地建立起联系。 尽管描绘未来光辉前景的文章在 2 0世纪很普遍,但《As We May Think》则不同,它描述 的既不是关于减轻家务负担的设备的故事,也不是关于未来交通运输或机器人的故事,而是 关于信息及如何用新技术处理信息的故事。 从第一台继电器计算器制造出来已经历了 6 5年,计算机变得越来越小、越来越快,也越 来越便宜。这种趋势已改变了计算机的本质。当计算机越来越便宜时,每一个人都可拥有自 己的计算机。计算机越小、越快,软件则变得越高级,同时机器可以完成更多的工作。 更好地利用这些额外功能和速度的一种方法就是改进计算机系统中至关重要的部分,即 用户接口—人和计算机的交互点。人和计算机是差别很大的两种物质,但不幸的是,说服 人们调整以适应计算机的特性是比其他方法更容易的方法。 早先,数字计算机根本上不是交互式的。有些使用开关和电缆编程,有些使用穿孔纸带 或胶片编程。到2 0世纪5 0年代和6 0年代(甚至延续到7 0年代),计算机进化到使用批处理:程 序和数据穿孔成卡片,然后读入到计算机内存,程序分析数据,得出一些结论,再在纸上打 印出结果。 最早的交互式计算机使用的是电传打字机。如前一章讲到的 D a r t m o u t h分时操作系统(始 于2 0世纪6 0年代早期)支持多个电传打字机,可以同时使用。在这样的系统里,用户在打字 机上敲一行,计算机以回答一行或多行作为响应。打字机和计算机之间的信息交流全部是 A S C I I码流(或其他字符集),除了像回车换行这样简单的控制码外,差不多全是字符代码。 事务只是按纸卷的方向进行。 然而,阴极射线管(在 7 0年代就已经很普遍了)则没有这些限制。可以用软件以更灵活 的方式来处理整个屏幕。然而,可能是为了设法保持显示器输出符合操作系统的显示输出逻 辑,早先为小型计算机编写的软件不断地把 C RT显示器作为“玻璃打字机”—一行一行地显
第5章图形化革命263 下载 示直到布满整个屏幕,当有字符到达屏幕底端时,屏幕的内容要向上翻滚。CPM和MS-DOS 中的实用程序都是以电传打字机的模式来使用视频显示器。也许原型电传打字机的操作系统 是UNⅨX,它仍然保持着这种传统 令人感兴趣的是,ASCI码字符集并不都适用于阴极射线管显示。在最初设计ASCI码时 代码1Bh标识为 Escape,专门处理字符集的扩充。1979年,ANSI印发了一个标准,题为“使 用ASCI码的附加控制”。该标准的目的是“为了适应可预见的有关二维字符图像设备输入输 出控制的要求,包括有阴极射线管和打印机在内的交互终端 当然, Escape的代码1Bh只有1个字节,且只有一个含义。 Escape通过作为可变长序列 开端来表达不同的功能。例如,以下这个序列 32h 4Ah 即 Escape代码后面跟上字符[2J,定义成删除整个屏幕并移动光标至左上角。这是在电传打字 机上所不能实现的。下面这个序列: lBh 即 Escape代码后面跟上字符[5;29H,把光标移到第5行的第29列。 由键盘和CRT组合而成,对来自远方计算机的ASCⅡ码(也可能是 Escape序列集合)作出 响应,这样的设备有时称作哑终端。哑终端比打字机要快并且从某种意义上讲也更灵活,但 是它并没有快到足以引起用户界面的真正创新。这种创新来自于20世纪70年代的小计算机, 正如第21章中的假想计算机,这种计算机有视频显示存储器作为微处理器地址空间的一部分。 家用计算机显著区别于它们大而昂贵的伙伴的第一个标志可能是 Visicalc的使用 Ⅴ isiCalc由 Dan bricklin(生于1951年)和 Bob frankston(生于1949年)设计和编程,于1979年推 出,用于 Apple ilaⅤ sical在屏幕上呈现给用户一个二维电子数据表。在Ⅴ sical出现之前 报表通常是一张纸,使用行、列来进行一系列计算。 Visicalc用视频显示器取代了纸,使得用 户可以移动报表,输入数据或公式,在进行修改后重新计算每一项 令人吃惊的是 Visicalc是不能复制到大型机上的应用程序。像Ⅴ isi Calc这样的程序需要很 快地刷新屏幕。因此,它直接向 AppleⅡ的视频显示器使用的随机访问存储器写入。该存储器 是微处理器地址空间的一部分。大型分时计算机和哑终端之间的接口速度不是很快,从而使 得电子报表程序不能使用。 计算机响应键盘、刷新视频显示器的速度越快,用户和计算机潜在的交互就越紧密。在 IBM PC机出现的头10年(20世纪80年代),为它编写的大多数软件是直接写入显示存储器的。 由于IBM建立了一套硬件标准,其他计算机厂商追随这一标准,使得软件厂商可以绕过操作 系统直接使用硬件而不用担心他们的软件在某些机器上不能正确运行(或根本不能运行)。如 果所有的PC“克隆体”都与它们的视频显示器有不同的硬件接口,则对软件厂商来说要满足 所有不同的硬件设计是非常困难的 IBM PC所使用的早期的应用程序大多数只有字符输出而没有图形输出。使用字符输出同 样能使得应用程序的执行速度加快。如果视频显示器设计得如第21章所描述的那样,则程序 只需简单地把某个字符的ASCI码写入内存就可以在屏幕上显示出该字符。使用图形视频显 的程序需要写入8个或更多的字节到内存中才能画出文本字符的图形 从字符显示到图形显示的变化是计算机革命中极其重要的一步,然而图形方式下计算机 硬件和软件的发展比文本和数字方式下计算机硬件和软件的发展要慢的多。早在1945年
第25章 图形化革命 263 下载 示直到布满整个屏幕,当有字符到达屏幕底端时,屏幕的内容要向上翻滚。 C P / M和M S - D O S 中的实用程序都是以电传打字机的模式来使用视频显示器。也许原型电传打字机的操作系统 是U N I X,它仍然保持着这种传统。 令人感兴趣的是,A S C I I码字符集并不都适用于阴极射线管显示。在最初设计 A S C I I码时, 代码1 B h标识为E s c a p e,专门处理字符集的扩充。 1 9 7 9年,A N S I印发了一个标准,题为“使 用A S C I I码的附加控制”。该标准的目的是“为了适应可预见的有关二维字符图像设备输入输 出控制的要求,包括有阴极射线管和打印机在内的交互终端…” 当然,E s c a p e的代码1 B h只有1个字节,且只有一个含义。 E s c a p e通过作为可变长序列的 开端来表达不同的功能。例如,以下这个序列: 1Bh 5Bh 32h 4Ah 即Escape 代码后面跟上字符[ 2 J,定义成删除整个屏幕并移动光标至左上角。这是在电传打字 机上所不能实现的。下面这个序列: 1Bh 5Bh 35h 3Bh 32h 39h 48h 即E s c a p e代码后面跟上字符[ 5;2 9 H,把光标移到第5行的第2 9列。 由键盘和C RT组合而成,对来自远方计算机的 A S C I I码(也可能是E s c a p e序列集合)作出 响应,这样的设备有时称作哑终端。哑终端比打字机要快并且从某种意义上讲也更灵活,但 是它并没有快到足以引起用户界面的真正创新。这种创新来自于 2 0世纪7 0年代的小计算机, 正如第2 1章中的假想计算机,这种计算机有视频显示存储器作为微处理器地址空间的一部分。 家用计算机显著区别于它们大而昂贵的伙伴的第一个标志可能是 Vi s i C a l c的使用。 Vi s i C a l c由Dan Bricklin (生于1 9 5 1年)和Bob Frankston(生于1 9 4 9年)设计和编程,于1979 年推 出,用于Apple II。Vi s i C a l c在屏幕上呈现给用户一个二维电子数据表。在 Vi s i C a l c出现之前, 报表通常是一张纸,使用行、列来进行一系列计算。 Vi s i C a l c用视频显示器取代了纸,使得用 户可以移动报表,输入数据或公式,在进行修改后重新计算每一项。 令人吃惊的是Vi s i C a l c是不能复制到大型机上的应用程序。像 Vi s i C a l c这样的程序需要很 快地刷新屏幕。因此,它直接向 Apple II的视频显示器使用的随机访问存储器写入。该存储器 是微处理器地址空间的一部分。大型分时计算机和哑终端之间的接口速度不是很快,从而使 得电子报表程序不能使用。 计算机响应键盘、刷新视频显示器的速度越快,用户和计算机潜在的交互就越紧密。在 IBM PC 机出现的头1 0年(2 0世纪8 0年代),为它编写的大多数软件是直接写入显示存储器的。 由于I B M建立了一套硬件标准,其他计算机厂商追随这一标准,使得软件厂商可以绕过操作 系统直接使用硬件而不用担心他们的软件在某些机器上不能正确运行(或根本不能运行)。如 果所有的P C“克隆体”都与它们的视频显示器有不同的硬件接口,则对软件厂商来说要满足 所有不同的硬件设计是非常困难的。 IBM PC所使用的早期的应用程序大多数只有字符输出而没有图形输出。使用字符输出同 样能使得应用程序的执行速度加快。如果视频显示器设计得如第 2 1章所描述的那样,则程序 只需简单地把某个字符的 A S C I I码写入内存就可以在屏幕上显示出该字符。使用图形视频显示 的程序需要写入8个或更多的字节到内存中才能画出文本字符的图形。 从字符显示到图形显示的变化是计算机革命中极其重要的一步,然而图形方式下计算机 硬件和软件的发展比文本和数字方式下计算机硬件和软件的发展要慢的多。早在 1 9 4 5年
264编的奥 Chinaopub.com 下载 冯·诺依曼就设想了一种像示波器一样的显示器,可用来使信息图形化。但是,直到20世纪 50年代早期,计算机图形才开始成为现实。当时麻省理工学院(得到IBM资助)建立了林肯 实验室来开发计算机,用于美国空军的空中防卫系统。该项目称为SAGE(semi- automatic. ground environment),有一个图形显示屏帮助操作员分析大量数据。 在SAGE这样的系统中使用的早期视频显示器不像今天我们在PC机中所用的显示器。今 天普通的PC机显示器是光栅显示器。就像电视机,所有的图像由一系列水平光栅线组成,由 个电子枪射击光束很快地前后移动扫过整个屏幕形成光栅。屏幕可以看成是一个大的矩形 点阵,这些点称为像素。在计算机里,一块内存专门供视频显示使用,屏幕上的每一个像素 由1位或多位表示。这些位值决定像素是否亮,是什么颜色。 例如,今天多数计算机显示器有至少水平方向640像素的分辨率,垂直方向480像素的分 辨率,像素的总数是这两个数的乘积307200。如果1个像素只占用1位内存,则每个像素只局 限于两种颜色,即通常的黑、白色。如,0像素为黑,1像素为白。这样的视频显示器需要307 200位的内存,即38400字节。 随着可能的颜色数目的增多,每个像素需要更多的位,显示适配器也需要更多的内存。 例如,每个像素可以用一个字节来编码灰度。按照这样的安排,字节00h为黑,Fhh为白,之 间的值代表不同的灰度。 CRT上的彩色由三个电子枪产生,每一个分别负责三原色红、绿、蓝中的一种(可以用 放大镜来观察电视机或彩色计算机屏幕以验证它的正确性。由不同的原色组合来显示图像), 红色和蓝色的组合是黄色,红色与绿色的组合是洋红色,蓝色和绿色的组合是青色,三原色 的组合是白色 最简单的彩色图像显示适配器每个像素需要3位。像素可以如以下这样编码,每一个原色 对应1位 色 位00 010001 颜黑蓝绿青红洋黄白 红 但是,这种方式只适合于简单的类似卡通画的图像。许多现实世界中的颜色都是红、绿 蓝按不同级别组合而成的。如果用2个字节来表示一个像素,则每一个原色可分配5位(1位保 留),这样可以给出红、绿、蓝三种颜色各32种不同的级别,即总共可有32768种不同的颜色 这种模式通常称作高彩色或千种颜色。 下一步是用3个字节来表示一个像素,每种颜色占一个字节。这种编码模式使红、绿、蓝 种颜色各有256种不同的级别,这样总共有16777216种不同的颜色,通常称作全彩色或百 万种颜色。如果视频显示器的分辨率为水平640像素,垂直480像素,则总共需要91600字节 的存储容量,即将近1M字节 每个像素所占的位数有时也称作颜色深度或颜色分辨率。不同颜色数量与每个像素所占 的位数的关系如下:
264 编码的奥秘 下载 冯·诺依曼就设想了一种像示波器一样的显示器,可用来使信息图形化。但是,直到 2 0世纪 5 0年代早期,计算机图形才开始成为现实。当时麻省理工学院(得到 I B M资助)建立了林肯 实验室来开发计算机,用于美国空军的空中防卫系统。该项目称为 S A G E(s e m i - a u t o m a t i c - ground environment),有一个图形显示屏帮助操作员分析大量数据。 在S A G E这样的系统中使用的早期视频显示器不像今天我们在 P C机中所用的显示器。今 天普通的P C机显示器是光栅显示器。就像电视机,所有的图像由一系列水平光栅线组成,由 一个电子枪射击光束很快地前后移动扫过整个屏幕形成光栅。屏幕可以看成是一个大的矩形 点阵,这些点称为像素。在计算机里,一块内存专门供视频显示使用,屏幕上的每一个像素 由1位或多位表示。这些位值决定像素是否亮,是什么颜色。 例如,今天多数计算机显示器有至少水平方向 6 4 0像素的分辨率,垂直方向 4 8 0像素的分 辨率,像素的总数是这两个数的乘积 307 200。如果1个像素只占用1位内存,则每个像素只局 限于两种颜色,即通常的黑、白色。如, 0像素为黑,1像素为白。这样的视频显示器需要 3 0 7 2 0 0位的内存,即38 400字节。 随着可能的颜色数目的增多,每个像素需要更多的位,显示适配器也需要更多的内存。 例如,每个像素可以用一个字节来编码灰度。按照这样的安排,字节 00h 为黑,F F h为白,之 间的值代表不同的灰度。 C RT上的彩色由三个电子枪产生,每一个分别负责三原色红、绿、蓝中的一种(可以用 放大镜来观察电视机或彩色计算机屏幕以验证它的正确性。由不同的原色组合来显示图像), 红色和蓝色的组合是黄色,红色与绿色的组合是洋红色,蓝色和绿色的组合是青色,三原色 的组合是白色。 最简单的彩色图像显示适配器每个像素需要 3位。像素可以如以下这样编码,每一个原色 对应1位: 位 颜色 0 0 0 黑 0 0 1 蓝 0 1 0 绿 0 11 青 1 0 0 红 1 0 1 洋红 11 0 黄 111 白 但是,这种方式只适合于简单的类似卡通画的图像。许多现实世界中的颜色都是红、绿、 蓝按不同级别组合而成的。如果用 2个字节来表示一个像素,则每一个原色可分配 5位(1位保 留),这样可以给出红、绿、蓝三种颜色各 3 2种不同的级别,即总共可有32 768种不同的颜色。 这种模式通常称作高彩色或千种颜色。 下一步是用3个字节来表示一个像素,每种颜色占一个字节。这种编码模式使红、绿、蓝 三种颜色各有2 5 6种不同的级别,这样总共有 16 777 216种不同的颜色,通常称作全彩色或百 万种颜色。如果视频显示器的分辨率为水平 6 4 0像素,垂直4 8 0像素,则总共需要921 600字节 的存储容量,即将近1 M字节。 每个像素所占的位数有时也称作颜色深度或颜色分辨率。不同颜色数量与每个像素所占 的位数的关系如下:
第5章图形化革命265 颜色数=2每个像素所占位数 视频适配卡只有一定数量的存储器,这样它所能达到的分辨率和颜色深度将受到限制。 例如,一个具有IM字节存储器的视频适配卡可以达到640×480的分辨率,每个像素占3个字 节。如果想用800×600的分辨率,则没有足够的存储器给每个像素分配3个字节,而要用2个 字节来表示一个像素。 尽管现在使用光栅显示器似乎是理所当然的,但在早期由于需要大量存储器,使用光栅 显示器就不太实际。SAGE视频显示器是矢量显示器,比电视机更像示波器。电子枪可以定位 到显示器上任何部分的点,并且直接画出直线或曲线。利用屏幕上图像的可持续性使得能用 这些直线和曲线来形成最基本的画面 SAGE计算机也支持光笔,操作者可用来在显示器上改变图像。光笔是特殊的设备,看起 来像一只铁笔,一端连有电线。运行适当的软件后,计算机可以检测到光笔指向的屏幕位置 并随着光笔的移动而改变图像 光笔是如何工作的呢?即使是技术专家,在第一次看到光笔的时候也会迷惑不解。关键 在于光笔不发射光——它检测光。在CRT中(无论是用光栅还是向量显示),控制电子枪移动 的电路也可以确定从电子枪射出的光何时打到光笔上,从而确定光笔正指向屏幕的什么位置 Van Sutherland(生于1938年)是预见到新的交互式计算时代的的多个人之一,他在1963年 示范了一个他为SAGE计算机开发的名为 Sketchpad(画板)的具有革命性意义的图形程序 画板可以存放图像信息到存储器,并且可以把图像显示在屏幕上。另外,还可以用光笔在显 示器上画图并修改,同时计算机会一直跟踪它。 另外一个交互式计算的设想家是 Douglas Engelbart(生于1925年)。他曾读过1945年 annevar Bush发表的文章《 As We May Think》,并在5年后开始用一生的时间致力于研究新 的计算机界面。20世纪60年代中期,当他在 Sanford研究院时,他彻底重新考虑了输入设备, 提出了用有五个尖端的键盘(此设备没有流行)以及一个他叫作鼠标的有轮子和按钮的小设备来 j入命令。鼠标现在已广泛用来移动屏幕上的指针,以选择屏幕上的对象。 逢光栅显示器在经济上切实可行,许多早期的热衷于交互式图形计算的人们(尽管没 有 Engelbart)也已聚集在 Xerox公司里。 Xerox公司于1970年建立了 Palo alto研究中心 (PARC),其中一项就是资助开发产品,以使得公司能进入计算机界。也许PARC最著名的设 想家是 Alan Kay(生于1940年),当他14岁的时候碰巧看到了 Robert heiden的小故事里描述 的 Van bush的微缩胶片图书馆,并已设想了一种他称为 Dynabook的轻便计算机。 PARC的第一个大工程是Alto,于1972年~1973年期间设计和制造出来。按照那个年代的 标准,这是一个给人深刻印象的产品。它是安装在地板上的系统单元,有16位处理器、2个 3MB的磁盘驱动器、128KB内存(可以扩充到512KB),以及一个三个按钮的鼠标。在16位单 片微处理器之前出现,Alto的处理器由大约200个集成电路组成。 Alto的视频显示器是它与众不同的地方之一。屏幕的大小和形状与一张纸差不多—8英 寸宽10英寸高。它以光栅图形模式工作,有606个水平像素和808个垂直像素,这样总共489 648个像素。每个像素占1位存储器,即每个像素不是黑色就是白色。用于视频显示的存储器 容量是64KB,占用部分处理器的地址空间。 通过写入到视频显示存储器,软件可以在屏幕上画出图画或显示不同字体和大小的文本 通过在桌上滚动鼠标,用户可以在屏幕上定位指针,与屏幕上的对象进行交互。视频显示器
颜色数 = 2 每个像素所占位数 视频适配卡只有一定数量的存储器,这样它所能达到的分辨率和颜色深度将受到限制。 例如,一个具有 1 M字节存储器的视频适配卡可以达到 6 4 0×4 8 0的分辨率,每个像素占 3个字 节。如果想用8 0 0×6 0 0的分辨率,则没有足够的存储器给每个像素分配 3个字节,而要用 2个 字节来表示一个像素。 尽管现在使用光栅显示器似乎是理所当然的,但在早期由于需要大量存储器,使用光栅 显示器就不太实际。S A G E视频显示器是矢量显示器,比电视机更像示波器。电子枪可以定位 到显示器上任何部分的点,并且直接画出直线或曲线。利用屏幕上图像的可持续性使得能用 这些直线和曲线来形成最基本的画面。 S A G E计算机也支持光笔,操作者可用来在显示器上改变图像。光笔是特殊的设备,看起 来像一只铁笔,一端连有电线。运行适当的软件后,计算机可以检测到光笔指向的屏幕位置, 并随着光笔的移动而改变图像。 光笔是如何工作的呢?即使是技术专家,在第一次看到光笔的时候也会迷惑不解。关键 在于光笔不发射光—它检测光。在C RT中(无论是用光栅还是向量显示),控制电子枪移动 的电路也可以确定从电子枪射出的光何时打到光笔上,从而确定光笔正指向屏幕的什么位置。 Van Sutherland(生于1 9 3 8年)是预见到新的交互式计算时代的的多个人之一,他在 1 9 6 3年 示范了一个他为 S A G E计算机开发的名为 S k e t c h p a d(画板)的具有革命性意义的图形程序。 画板可以存放图像信息到存储器,并且可以把图像显示在屏幕上。另外,还可以用光笔在显 示器上画图并修改,同时计算机会一直跟踪它。 另外一个交互式计算的设想家是 Douglas Engelbart(生于 1 9 2 5年)。他曾读过 1 9 4 5年 Vannevar Bush发表的文章《As We May Think》,并在5年后开始用一生的时间致力于研究新 的计算机界面。 2 0世纪6 0年代中期,当他在 S a n f o r d研究院时,他彻底重新考虑了输入设备, 提出了用有五个尖端的键盘 (此设备没有流行)以及一个他叫作鼠标的有轮子和按钮的小设备来 输入命令。鼠标现在已广泛用来移动屏幕上的指针,以选择屏幕上的对象。 恰逢光栅显示器在经济上切实可行,许多早期的热衷于交互式图形计算的人们(尽管没 有E n g e l b a r t)也已聚集在 X e r o x公司里。 X e r o x公司于 1 9 7 0年建立了 Palo Alto 研究中心 (PA R C),其中一项就是资助开发产品,以使得公司能进入计算机界。也许 PA R C最著名的设 想家是Alan Kay(生于1 9 4 0年),当他1 4岁的时候碰巧看到了Robert Heidein 的小故事里描述 的Van Bush的微缩胶片图书馆,并已设想了一种他称为 D y n a b o o k的轻便计算机。 PA R C的第一个大工程是A l t o,于1 9 7 2年~1 9 7 3年期间设计和制造出来。按照那个年代的 标准,这是一个给人深刻印象的产品。它是安装在地板上的系统单元,有 1 6位处理器、 2个 3 M B的磁盘驱动器、1 2 8 K B内存(可以扩充到5 1 2 K B),以及一个三个按钮的鼠标。在 1 6位单 片微处理器之前出现,A l t o的处理器由大约2 0 0个集成电路组成。 A l t o的视频显示器是它与众不同的地方之一。屏幕的大小和形状与一张纸差不多—8英 寸宽1 0英寸高。它以光栅图形模式工作,有 6 0 6个水平像素和 8 0 8个垂直像素,这样总共 4 8 9 6 4 8个像素。每个像素占 1位存储器,即每个像素不是黑色就是白色。用于视频显示的存储器 容量是6 4 K B,占用部分处理器的地址空间。 通过写入到视频显示存储器,软件可以在屏幕上画出图画或显示不同字体和大小的文本。 通过在桌上滚动鼠标,用户可以在屏幕上定位指针,与屏幕上的对象进行交互。视频显示器 第25章 图形化革命 265 下载
266编的奥 Chinapub.com 下载 并非像电传打字机那样按行显示用户输入,按行写出程序输出。视频显示器的屏幕是一个二 维的、高密度的信息阵列和更直接的用户输入源 在20世纪70年代末期,为Ato所写的程序显示出了许多令人感兴趣的特点。多个程序可 放到窗口中并同时显示在屏幕上。Alto的视频图像使得软件超出文本范畴,并真正反映用户 的思想。图形对象(如:按钮、菜单及称作图标的小图画)成为用户接口的一部分。鼠标用 来选择窗口或触发图形对象,执行程序功能 这就是软件,不仅提供了用户接口而且已达到与用户亲密交互的程度。软件进一步扩展了 计算机的应用领域而不再仅进行简单的数字操作。软件设计出来就是—引用 Douglas engelbart 在1963年写的论文的标题—《 for the Augmentation of man' s Intellect》 在AIo上开发的PARC只是图形用户界面即GUI( graphic user interface)的开始。但 Xerox 公司并没有销售Ato(如果要销售的话,价格将在3万美元以上)。经过10多年,高售价的思 想体现在一种成功的消费品上 1979年, Steve jobs和来自苹果计算机公司的小组参观了PARC,看到的东西给他们留下了 深刻的印象。但是,他们花费了三年多的时间才推出了具有图形接口的计算机,这就是1983 年1月推出的不太受欢迎的 Apple lisa而在1年以后,苹果公司就推出了很成功的 Macintosh 初始的 Macintosh配备有 Matorola6800微处理器、64KB的ROM、128KB的RAM、一个 3.5英寸的磁盘驱动器(可以存储400KB)、一个键盘、一个鼠标和一个视频显示器。该视频显 示器水平512个像素,垂直342个像素(CRT测量对角只有9英寸),总共175104个像素。每 个像素用1位内存,颜色为黑、白,这样视频显示RAM大约需要22KB 最初的 Macintosh硬件做得很好,但是很难进行变革。1984年,出现了使Mac与其他计算 机完全不同的 Macintosh操作系统,那时通常称作系统软件,后来称为 Mac os 像CP/M或MS-DOS这样的基于字符的单用户操作系统不是很大并且没有扩展的应用程序 接口(APⅠ)。正如第22章解释的那样,这些基于字符的操作系统所需要的是使用文件系统的 应用程序。而像 Mac os这样的图形操作系统则非常大且有几百个API函数,每一个都由一个 描述该函数功能的名称来标识 像MS-DOS这样的基于字符的操作系统只需提供几个简单的API函数就能使得应用程序在 屏幕上以电传打字机方式显示字符,但 Mac Os这样的图形操作系统必须提供一种方法才能使 得程序可以在屏幕上显示图形。从理论上来讲,可以通过实现一个API函数来完成,该函数使 得应用程序可以设置某个水平和垂直坐标的像素的颜色。但是,实际证明这种方法效率不高 且图形显示的速度很慢 因而由操作系统提供完整的图形编程系统就显得非常有意义,这意味着操作系统需包含 有画线、画矩形、画椭圆(包括圆)和字符的API函数。线可以由实线或虚线或点组成:矩形 和椭圆可以用不同的填充模式来填充:字符可以显示成不同字体和大小并具有不同效果,如: 黑体和下划线等。图形系统负责确定如何在显示器上把这些图形对象作为点阵来显示。 图形操作系统下运行的程序使用相同的API在计算机视频显示器和打印机上画出图形。因 此,字处理应用程序在屏幕上显示的文档可以与打印出来的文档非常相似。这种特点称为 WYSIWYG,是“ What you see is what you get(所见即所得)”的英文缩写。这是喜剧演员 Flip wilson在 Geraldine角色中所贡献的计算机行话。 图形用户界面的吸引力部分体现在不同应用程序的工作大致相同,且与用户经验关系不
并非像电传打字机那样按行显示用户输入,按行写出程序输出。视频显示器的屏幕是一个二 维的、高密度的信息阵列和更直接的用户输入源。 在2 0世纪7 0年代末期,为 A l t o所写的程序显示出了许多令人感兴趣的特点。多个程序可 放到窗口中并同时显示在屏幕上。 A l t o的视频图像使得软件超出文本范畴,并真正反映用户 的思想。图形对象(如:按钮、菜单及称作图标的小图画)成为用户接口的一部分。鼠标用 来选择窗口或触发图形对象,执行程序功能。 这就是软件,不仅提供了用户接口而且已达到与用户亲密交互的程度。软件进一步扩展了 计算机的应用领域而不再仅进行简单的数字操作。软件设计出来就是—引用Douglas Engelbart 在1 9 6 3年写的论文的标题—《for the Augmentation of Man's Intellect》。 在A l t o上开发的PA R C只是图形用户界面即G U I(graphic user interface)的开始。但X e r o x 公司并没有销售 A l t o(如果要销售的话,价格将在 3万美元以上)。经过1 0多年,高售价的思 想体现在一种成功的消费品上。 1 9 7 9年,Steve Jobs和来自苹果计算机公司的小组参观了 PA R C,看到的东西给他们留下了 深刻的印象。但是,他们花费了三年多的时间才推出了具有图形接口的计算机,这就是 1 9 8 3 年1月推出的不太受欢迎的Apple Lisa。而在1年以后,苹果公司就推出了很成功的 M a c i n t o s h。 初始的M a c i n t o s h配备有Matorola 6800微处理器、 6 4 K B的R O M、1 2 8 K B的R A M、一个 3 . 5英寸的磁盘驱动器(可以存储 4 0 0 K B)、一个键盘、一个鼠标和一个视频显示器。该视频显 示器水平5 1 2个像素,垂直3 4 2个像素(C RT测量对角只有9英寸),总共175 104个像素。每一 个像素用1位内存,颜色为黑、白,这样视频显示 R A M大约需要2 2 K B。 最初的M a c i n t o s h硬件做得很好,但是很难进行变革。 1 9 8 4年,出现了使M a c与其他计算 机完全不同的M a c i n t o s h操作系统,那时通常称作系统软件,后来称为 Mac OS. 像C P / M或M S - D O S这样的基于字符的单用户操作系统不是很大并且没有扩展的应用程序 接口(A P I)。正如第2 2章解释的那样,这些基于字符的操作系统所需要的是使用文件系统的 应用程序。而像 Mac OS这样的图形操作系统则非常大且有几百个 A P I函数,每一个都由一个 描述该函数功能的名称来标识。 像M S - D O S这样的基于字符的操作系统只需提供几个简单的 A P I函数就能使得应用程序在 屏幕上以电传打字机方式显示字符,但 Mac OS这样的图形操作系统必须提供一种方法才能使 得程序可以在屏幕上显示图形。从理论上来讲,可以通过实现一个 A P I函数来完成,该函数使 得应用程序可以设置某个水平和垂直坐标的像素的颜色。但是,实际证明这种方法效率不高 且图形显示的速度很慢。 因而由操作系统提供完整的图形编程系统就显得非常有意义,这意味着操作系统需包含 有画线、画矩形、画椭圆(包括圆)和字符的 A P I函数。线可以由实线或虚线或点组成;矩形 和椭圆可以用不同的填充模式来填充;字符可以显示成不同字体和大小并具有不同效果,如: 黑体和下划线等。图形系统负责确定如何在显示器上把这些图形对象作为点阵来显示。 图形操作系统下运行的程序使用相同的 A P I在计算机视频显示器和打印机上画出图形。因 此,字处理应用程序在屏幕上显示的文档可以与打印出来的文档非常相似。这种特点称为 W Y S I W Y G,是“What you see is what you get (所见即所得)”的英文缩写。这是喜剧演员 Flip Wi l s o n在G e r a l d i n e角色中所贡献的计算机行话。 图形用户界面的吸引力部分体现在不同应用程序的工作大致相同,且与用户经验关系不 266 编码的奥秘 下载