zoukankan      html  css  js  c++  java
  • 计算机图形学——人机交互绘图技术

    人机交互(Human-Computer Interaction)是指用户与计算机系统之间的通信,它是人与计算机之间各种符号和动作的双向信息交换。这里“交互”定义为一种通信,即信息交换,并且是一种双向信息交换,可由人向计算机输入信息,也可由计算机向用户反馈信息。

    HCI人机交互技术的来源:

     

     

    一、基本的图形输入设备

     为了使图形软件包具有通用性,图形输入命令不涉及具体的输入设备,只涉及该命令所需要的数据。根据输入信息的不同性质,图形核心系统GKS和三维图形系统PHIGS把输入设备在逻辑上分成以下几类:

    1、定位设备

    定位设备(Locator)用于指定用户空间的一个位置,如指定一个圆的圆心,或确定一条直线的两个端点。
    其输入方式包括直接或间接在屏幕上输入、设置数值坐标等。

    直接输入设备:光笔、触摸屏

    直接输入设备可以直接在屏幕上定位

    纯机械鼠标工作的原理很简单,它采用一个小滚球和桌面接触,当滚球移动的时候,滚球推动压力滚轴滚动,滚轴的另一边连着编码器,在每个编码器上呈圆形排列的触点。当滚球滚动时,经过传导,使触点会依次碰到接触条,从而产生计算机容易辨认的 “接通”和“断开”,即“0”和“1”信号。通常鼠标内部有一个芯片会根据这些数据转换成“X”和“Y”轴的位移,从而使光标移动。

    机械光电鼠标

    1.接触桌面的一个内置的球,当鼠标移动时跟着一块滚动。

    2.接触球的两个滑轮。一个用来探测X方向的运动,另一个与之成90度角,用来探测Y方向的运动。当球滚动时,这两个滑轮的一个或者两个跟着旋转。

    3. 每个滑轮连着一根轴,这个轴又带着一个有孔的圆盘。当滑轮滚动时,轴和圆盘一起旋转。

    4.在圆盘的两侧有一个红外发光二级管和一个红外传感器。圆盘转时外围的间隔孔阻隔了发光二级管发出的光线,因此另一边的传感器就接受到了光脉冲。

    5.处理芯片读取红外传感器的脉冲并且把它转换成二进制,然后通过鼠标电缆将此二进制数据送给电脑,被CPU接收,信号的数量和频率对应着屏幕上的距离和速度。

    光电鼠标的工作原理是:在光电鼠标内部有一个发光二极管,通过该发光二极管发出的光线,照亮光电鼠标底部表面(这就是为什么鼠标底部总会发光的原因)。然后将光电鼠标底部表面反射回的一部分光线,经过一组光学透镜,传输到一个光感应器件(微成像器)内成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像。最后利用光电鼠标内部的一块专用图像分析芯片(DSP,即数字微处理器)对移动轨迹上摄取的一系列图像进行分析处理,通过对这些图像上特征点位置的变化进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。

    2、笔划设备

    笔划输入用于输入一组坐标,相当于多次调用定位输入。 输入的一组点常用于显示折线或作为曲线的控制点。
    笔划设备(Stroke)用于指定用户空间的一组有序点的位

    输入方式:与定位设备的输入方式一致:包括直接或间接在屏幕上输入、设置数值坐标等。
    物理设备:许多用于定位的物理设备也可以用作笔划设备,如鼠标、轨迹球和图形输入板等。

    3、定值设备

    定值设备(Valuator)用于为应用程序输入一个值(实数),如在旋转某一对象时输入一个旋转角度、缩放对象时输入一个比例因子以及输入文字高度、字体大小比例因子等。
    输入方式:包括直接输入数值、通过字符串取值、通过比例尺输入、执行上下记数控制命令等。
    物理设备:包括旋钮、键盘、数字化仪、鼠标、方向键、编程功能键等。

    4、选择设备

    选择设备(Choice)用于为应用程序在多个选项中选定一项,如可选择功能或图形元素等。

    5、拾取设备

    拾取设备(Pick)用于在处理的模型中选取一个对象,从而为应用型操作确定目标。

    6、字符串设备

     字符串设备(String)用于向应用程序输入字符串,如为某对象确定名字、为某图纸输入加注文字等。键盘是目前输入字符串最常用的设备。

    7、三维交互设备

    PHIGS三维图形系统除了将图形输入设备分为以上六类之外,还支持三维输入设备,以便使三维空间定位、拾取等操作更为方便
    如三维位置测试仪、数据手套、数据头盔的三维定位等。

     

     

    二、基本交互任务

    为了帮助操作员完成某种输入操作,计算机应在输入过程中显示某些信息(称为反馈)。基本交互任务是设计应用系统用户接口的基本要素。

    1、定位

    定位是确定平面一点(x,y)或空间一点(x,y,z)的坐标
    直接定位:是用定位设备直接指定某个点的位置,可以精确地给点定位(例如:键盘输入)。
    间接定位:指通过定位设备的运动控制屏幕上光标的运动进行定位,例如:在移动鼠标时,根据鼠标移动的相对距离去控制屏幕上光标的移动。
    数字化仪不仅可像鼠标那样产生输入点的相对坐标,也可输入点的绝对坐标。如果我们要输入一张图纸,用数字化仪输入图上各点的绝对坐标是最合适的方法。

    2、笔划

    笔划输入用于输入一组顺序的坐标点,笔划输入相当于多次调用定位输入。输入的一组点常用于显示折线或作为曲线的控制点。

    笔划设备
    鼠标、轨迹球、游戏棒连续移动的信号经转换成为一组坐标值。
    图形输入板的连续模式可通过按键激活。当光标在图形输入板表面上移动时,就产生一组坐标值。
    这样的过程不仅可用于画家在屏幕上作画的画笔系统,还可用于手写体的联机识别输入。

    3、定值

    定值(或数值)输入用于设置物体旋转角度、缩放比例因子等。它是要在给定的数字范围内输入一个值。
    1)可用键盘键入数值.
    2)可用软件的方法在屏幕上绘制一刻度尺或比例尺,用户可用定位设备控制光标在尺子上移动实现数值的输入。
    3)用刻度盘实现数值输入的原理也一样,操作员控制从圆心出发的线段绕圆心旋转,根据显示的角度读数或比例数据来定值.
    4)如果要输入一个精确的数,最好还是用键盘输入。

    4、选择

    选择是在某选择集中选出一个元素,它可以用于指定命令,确定操作对象或选定属性等。
    1)可用鼠标移动光标到要选图元附近的位置,按下鼠标的按钮,通过软件选择距光标最近的图元。
    2)可用键盘上的按键,如功能键;
      键盘选择也极为简单,比如击数字键“1”表示使用绿色绘制,“2”表示使用蓝色绘制等.

     3)菜单功能使用最普遍,也是非常重要的一种交互方法。使用菜单可改善应用系统用户接口的友好性。

     4)对话框的内容极丰富,在对话框中通常用于选择功能的是选择开关及radio按钮(单选按钮,以小圆框打点表示被选中)。

    5、拾取

    拾取的功能是选择图形对象,用于选择场景中即将进行变换或编辑的部分。
    拾取一个基本对象的方法有:
    1)指定名称法,通过指定欲拾取对象的名称实现;
    2)特征点法,选择时让图形的特征点(如线段的端点,圆心等)以强光醒目显示,操作员通过选择特征点来拾取对象,这种方法涉及的内部计算较少;
    3)边界盒法,对每一个子图预先求一个边界盒或比边界盒稍大一点的ε边界盒。这里的ε边界盒是指边和坐标轴平行且包含该子图的最小的矩形。
    4)分类法,分别将折线、点、弧等在有关按键的控制下进行拾取。

    6、字符串

    字符串输入功能用于为对象命名、为图纸加文字注释等。其输入方式包括键盘输入、手写输入、语音识别、菜单选择等。

    三、人机交互输入模式

    人机交互的输入过程需要有合理的控制模式

    1、请求模式(request mode)

    请求模式下,输入设备的初始化是在应用程序中设置的,即只有输入设置命令(或语句)对相应的设备设置所需要的输入模式后,该设备才能作相应的输入处理。在这种请求的命令中要指定由哪一个应用程序调用及调用哪一个输入设备。工作过程如下:

    2、样本模式(sample mode)

    当把一台或多台输入设备定义为样本模式后,这些设备会连续不断地把信息输入进来,而不必等待应用程序的输入语句,即信息的输入和应用程序中的输入命令无关。当应用程序遇到取样命令时,就把相应的物理设备的值作为取样数值。

    3、事件模式

    当设备设置成事件模式后,输入设备和程序并行工作。所有被设置成事件方式的输入数据(或事件)都被存放在一个事件队列中,该队列是以事件发生的时间排序的。
    用户在输入设备上完成一个输入动作(如按一下按钮等)便产生一个事件,输入信息及该设备编号等便存放到一个事件队列中。不同的应用程序可到队列中来查询和提取与该应用程序有关的事件。
    不同的应用程序可到队列中查询和提取与之有关的事件。事件模式下的程序流程不同于样本模式,用户输入的信息不会遗失

    4、输入方式的混合使用

    请求模式是在应用程序的控制下工作的;样本模式允许输入设备和应用程序同时工作。事件模式由输入设备来初始化数据输入,由应用程序来控制数据处理进程。
    现代的计算机图形输入系统往往不是单一地使用一种输入方式,而是多种输入方式的混合使用,即一个应用程序可以使用多种控制方式,操作几种不同的输入设备。

    三、常见辅助交互技术

    1、几何约束

    定位约束

    方向约束

     引力场

     2、拖拽

    当要把一个对象放到一个新的位置时,如果不是简单地用光标指定新位置的点,而是随着鼠标器引导光标移动的同时对象也跟着被拖动到新的位置,这会使用户感到更直观,从而使得对象的定位更为恰当

     橡皮筋技术

     3、在三视图上作三维输入

     

     

    4、结构平面

    输入立体图形常是由简到繁,一步一步的构造。例如:
    要生成图6.13所示的图形,可以先生成图6.11中的二维半图形,再在平面ABCD上用推移方法拉伸出一个柱体来。平面ABCD就叫结构平面。
    1.为了确定平面ABCD,可用交互的办法指定不共线的三点A、B、C,也可以通过指定平面上一点和平面法向来确定。
    2.把平面ABCD旋转到它的法线与坐标轴平行的位置,然后在平面ABCD上绘一个圆,并指定要在平面上生成的圆柱体高度,通过拉伸操作在平面ABCD上生成一个柱体,得到要输入的图形图6.13。

    5、新的交互技术

    1.视线追踪

    2. 语音识别

     3.表情识别

     

    四、人机交互的发展

    多媒体技术的支持

    多通道交互

    自然语言接口

     三维交互

    计算机支持的协同工作(CSCW)

    计算机支持协同工作(Computer Supported Cooperative Work,CSCW)系统很好地适应了社会信息化、经济全球化和知识经济时代的特点以及诸如交互性、分布性和协同性等要求.
    其应用领域非常广泛,如协同编辑、电子会议、工业应用、科学协作、远程教学、远程医疗等。

  • 相关阅读:
    Unique Binary Search Trees——LeetCode
    Binary Tree Inorder Traversal ——LeetCode
    Maximum Product Subarray——LeetCode
    Remove Linked List Elements——LeetCode
    Maximum Subarray——LeetCode
    Validate Binary Search Tree——LeetCode
    Swap Nodes in Pairs——LeetCode
    Find Minimum in Rotated Sorted Array——LeetCode
    Linked List Cycle——LeetCode
    VR AR MR
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/11812168.html
Copyright © 2011-2022 走看看