3D漫游的分类 3D Navigation Taxonomy
在2001年CHI发表的论文中1,Tan等人提出了一种对3D漫游的分类方法。
当时关于3D漫游(3D Navigation)的研究主要分为两种:一种是发掘有关漫游的认知原则,一种是开发一些具体的漫游技术,用于解决某些特定场景的问题。他们总结了相关的研究如下:
认知原则:
Thorndyke & Hayes-Roth等人:地图和自由探索所获得的空间信息的不同之处;
Darken el al:大型虚拟环境中的认知和设计原则;
Furnas:通过大型数据结构,探索有效的漫游的“可穿越性(traversability)”和“可漫游性(navigability)”;
Bowman:对虚拟漫游的运动方面进行的上层分类;
漫游技术:
-2D:(常常以缩放的方式帮助用户进行漫游)
Masui:以在每个视区内改变搜索区域的方式进行漫游;
Bederson:Pad++,以缩放为主要方式进行漫游;
Igarashi:基于滚动速率的自动缩放,可在滚动速度增加时为用户提供全局文档视图;
Tan等人基于Igarashi的研究,解决了两个问题:如何让用户准确的从全局视图转换到特定的目标区域;还有如何让用户查看某个特定对象。
- 3D:
(同时拥有多个坐标视图)
Fukatsu:同时提供给用户鸟瞰全局图和局部视图;
Stoakley:类似,不过是提供微型的3D世界,而不是鸟瞰图;
Robinett:用缩放的方法让用户快速飞到不同的区域;
Ware:提出“cyclopean scaling”和根据深度调节的飞行,通过物体的距离调节飞行速度。
Elvins:创建3D略缩图(一个微型的虚拟世界)来帮助用户寻找地标;
(扭曲虚拟世界)
鱼眼视图;
透视墙;
Document Lens;
Desert Fog;
Tan等人提出了一个他们认为的初步漫游分类结构,并且根据这个结构来探索关于漫游的设计空间。也就是说,通过画出纵横格子找出所有的可能性,当然有些格子已经被填满了,哪些竟然还没有填满,那没有被填满的格子,就是被遗漏的、值得思考的设计空间。通过这样的方式来发掘新的漫游技术,然后发掘的新技术反过来又启发完善和扩展原本的分类结构。以这样的方式来帮助3D漫游的研究。
Tan等人提出的分类:
* 任务:根据漫游的目的进行分类。
- 探索 Explore:获取勘察信息
- 搜索 Search:确定目标位置,并且移动到目标
- 检查 Inspect:稳定在某个视角观察物体
* 移动控制(Travel Control): 为了实现以上目的的一些解决方案。
- 移动(Travel)具体指的是:虚拟环境中的视角改变,这个视角信息包括:1、位置;2、朝向;3、速度。
- 对于以上三个方面,设计者都必须提供相应的函数来控制他们的值。这个函数根据这几个方面来确定:1、环境状态;2、用户的状态;3、以上两种的综合状态。
* 用户界面
硬件/输入决定了系统给用户呈现的affordance和用户能的控制自由度(DOF)。
设计者要在硬件限制下,选择一个直观的映射方式,将输入和镜头控制联系起来。通常来讲,输入的自由度都是不足的,必须要设置不同的模式来用于不同场景下视角的控制。如果系统能够有效的识别用户的目的,那就可以做到自动地来根据输入设置模式,否则用户就要自己来选择模式。
P.S. 但是我认为,不一定是根据任务/目的来决定运动的模式,可能是根据环境来决定的,比如飞得高的时候想要飞得快一些,不然由于环境变化太慢(因为远),而导致用户觉得自己运动太慢(其实可能并没有很慢)。
除了输入,输出也是设计者必须要关注的。这一点经常被设计者忽略,但是其实系统给用户的输出(反馈)方式,和是否给用户带来了沉浸感,对于用户是否能有效地完成漫游任务有着极大的影响。所以作者认为,设计者的目标就是要让输出带给用户准确的信息:及时、直观、信息丰富。
1 Tan, Desney S., George G. Robertson, and Mary Czerwinski. “Exploring 3D Navigation: Combining Speed-Coupled Flying with Orbiting.” In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 418–425. CHI ’01. New York, NY, USA: ACM, 2001. https://doi.org/10.1145/365024.365307.
3D漫游的分类 3D Navigation Taxonomy的更多相关文章
- OpenGL实现3D漫游的理解
这篇文章主要参考以下两篇博客: 推导相机变换矩阵 OpenGL系列教程之五:OpenGL矩阵类 上面的第一篇是理论的讲解,第二篇有实例代码,我在后面会给出自己写的主函数,依赖的类可以从第二篇参考中下载 ...
- 3DTools TrackballDecorator实现3D漫游
原文:3DTools TrackballDecorator实现3D漫游 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/art ...
- 物联网3D,物业基础设施3D运维,使用webgl(three.js)与物联网设备结合案例。搭建智慧楼宇,智慧园区,3D园区、3D物业设施,3D楼宇管理系统——第八课
写在前面的废话: 很久没有更新文章了,这段时间一直忙于项目落地,虽然很忙,但是感觉没有总结,没有提炼的日子,总是让人感觉飘飘忽忽的. 所幸放下一些事,抽出一些时间,把近期的项目做一些整理与记录.也算是 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- 1-Highcharts 3D图之普通3D柱状图与带空值
<!DOCTYPE> <html lang='en'> <head> <title>1-Highcharts 3D图之普通3D柱状图与带空值</t ...
- 3d模型 手办制作 3d model manual production
3d模型 手办制作 3d model manual production 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313 ...
- 使用webgl(three.js)搭建3D智慧园区、3D大屏,3D楼宇,智慧灯杆三维展示,3D灯杆,web版3D,bim管理系统——第六课
前言: 今年是建国70周年,爱国热情异常的高涨,为自己身在如此安全.蓬勃发展的国家深感自豪. 我们公司楼下为庆祝国庆,拉了这样的标语,每个人做好一件事,就组成了我们强大的祖国. 看到这句话,深有感触, ...
- 单图像三维重建、2D到3D风格迁移和3D DeepDream
作者:Longway Date:2020-04-25 来源:单图像三维重建.2D到3D风格迁移和3D DeepDream 项目网址:http://hiroharu-kato.com/projects_ ...
- 3D深色金属哥特3D项目工具小图标icon高清设计素材
3D深色金属哥特3D项目工具小图标icon高清设计素材
随机推荐
- 骑士精神(IDA*)
题目描述 输入格式 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 对于每组数据都 ...
- c#搭建webapi项目
一.添加WebApi项目 二.nuget下载WebApi所需的类库引用 install-package Microsoft.AspNet.WebApi install-package Micr ...
- Apache JMeter HTTPS(S) Test Script Recorder
参考Apache官网资料:http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf 1. 进入apache-jmeter-2. ...
- Orders POJ - 1731
The stores manager has sorted all kinds of goods in an alphabetical order of their labels. All the k ...
- NOIP2003[提高组] 加分二叉树 题解
题意 给出一个有n个节点的二叉树的中序遍历,以当前节点为根的树的分数等于左节点分数* 右节点分数+根节点分数,叶子节点的分数等于它本身,求最大分数,以及分数最大的树的先序遍历 一道区间dp题,因为要求 ...
- 虚IP解决AlWaysON读库服务器过保替换
公司核心交易数据库,使用SQL 2012 AlWaysON的1主4从,有2台(8.14,8.15)从库服务器,已经使用3年多,过保替换,新买的2台服务器已经安装好,一开始方案如下: 服务器(8.14) ...
- java中自定义注解的应用
要想深刻的理解注解,我们必须能实现自己的注解,然后应用自己的注解去实现特定的业务,使用注解可以更优雅的做到某些事情. 有这样一个场景,在需要文件导出时,我们需要将一个model中的一些重要字段导出到c ...
- Go操作MySQL
MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的 ...
- Java高性能编程之CAS与ABA及解决方法
Java高性能编程之CAS与ABA及解决方法 前言 如果喜欢暗色调的界面或者想换换界面,可以看看我在个人博客发布的 Java高性能编程之CAS与ABA及解决方法. CAS概念 CAS,全称Compar ...
- Winform中设置ZedGraph曲线图的字体样式是避免出现边框
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...