1 / 6
文档名称:

计算机图形学_4事件与交互式编程.pdf

格式:pdf   页数:6
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机图形学_4事件与交互式编程.pdf

上传人:小猪猪 2011/11/30 文件大小:0 KB

下载得到文件列表

计算机图形学_4事件与交互式编程.pdf

文档介绍

文档介绍:计算机图形学的价值所在交互 Interaction
•一些图形学程序:cube,teapots,distort •所谓交互,指计算机能对用户的动作
计算机图形学•演示很有趣,但价值在哪里? 做出反馈
–程序与用户之间的信息交流交互与输入设备
Computer Graphics •数据可视化,仿真,GUI
•就算是 Word 也是一个“交互式图形程序”•交互是计算机图形学重要的组成部分
第四讲事件与交互编程–用户与用户之间的信息交流–它提供给用户控制所创建图像的能力
•“合作的环境”是很热门的–让用户可以控制图像所产生的过程
福州大学软件学院陈昱•例如:多人对战游戏–它是你添加到程序中的操作界面的基础
•“交互”是一个核心组成部分
Sutherland's Sketchpad 系统输入设备物理设备绝对定位设备与相对定位设备
•Ivan Sutherland (MIT 1963) 建立了基本•设备可以用两种不同的方式看待: •像数据板这样的设备直接返回一个绝对
交互范式刻画了交互式图形学的特征: –根据物理性质分类坐标给操作系统
–用户在屏幕上看到一个物体•鼠标,键盘,轨迹球•而像鼠标,轨迹球,游戏杆这样的设备
–用户通过一个输入设备(光笔,鼠标,轨–根据逻辑性质分类返回相对速度给操作系统
迹球)点击(拾取)这个物体•通过 API 返回什么给程序鼠标轨迹球光笔–通过对输入值进行积分得到一个绝对坐标
–物体发生改变(移动,旋转,变形) •一个位置
–重复上述过程•还是一个物体标识符
数据板游戏杆空间球
逻辑设备图形逻辑设备输入模式事件 Event
•考虑 C 和 C++ 代码•图形程序的输入要比普通程序的输入(通常是数•输入设备包含一个触发器,用来发送信•绝大多数系统都有多个的输入设备,每个输
字,字符,或是二进制比特)来得更复杂多变:
–C++: cin >> x; 入设备都可能在任意时刻被用户触发
•两个老的API (GKS, PHIGS) 定义了六种类型的逻辑号给操作系统
–C: scanf (“%d”, &x); 输入: –鼠标上的按键•每个触发生成一个事件,一个事件是对计算
机系统控制状态的一个改变
•输入设备是什么? –定位设备(Locator):返回一个位置–键盘的回车键
–从代码中不能得到答案–拾取设备(Pick):返回一个物体的 ID •这个定义非常泛,但它包含了图形学所需的
–字符串设备(String):返回一个字符串•当被触发的时候,输入设备返回信息所有事件
–可能是键盘,文件,或是其他程序的输出–笔划设备(Stroke):返回一个位置数组(它们的测量值)给系统
代码提供的是逻辑输入–定值设备(Valuator):返回一个浮点数,比如滑动条•事件从设备来,从程序来,从系统自身来
•–鼠标返回位置信息
–选择设备(Choice):允许用户从多个选项中选择一•在 OpenGL 中,交互是基于事件进行的
–一个整数被返回给程序,不管是什么物理个,比如菜单,单选框等等
设备–键盘返回ASCII码
事件处理 GLUT 中的事件类型回调函数
•发生的事件将被系统记录在事件队列中•按键事件•软件事件•事件驱动的编程接口