Glossary of view transformations

The following terms are used to define view orientation, i.e. transformation from World Coordinates (WC) to the View Reference Coordinates system (VRC):

  • View Reference Point (VRP) - defines the origin of View Reference Coordinates.
  • View Reference Plane Normal (VPN) - defines the normal of projection plane of the view.
  • View Reference Up Vector (VUP) - defines the vertical of observer of the view.

The following terms are used to define view mapping, i.e. transformation from View Reference Coordinates (VRC) to the Normalized Projection Coordinates (NPC):

  • Projection type - Orthographic or perspective.
  • Projection Reference Point (PRP) - Defines the observer position.
  • Front Plane Distance (FPD) - Defines the position of the front clipping plane in View Reference Coordinates system.
  • Back Plane Distance (BPD) Defines the position of the back clipping plane in View Reference Coordinates system.
  • View Plane Distance (VPD) Defines the position of the view projection plane in View Reference Coordinates system. View plane must be located between front and back clipping planes.
  • Window Limits Defines the visible part of the view projection plane (left, right, top and bottom boundaries: Umin, Umax, Vmax and Vmin respectively) in View Reference Coordinates.

The V3d_View API uses the following terms to define view orientation and mapping:

  • At - Position of View Reference Point (VRP) in World Coordinates
  • Eye - Position of the observer (projection reference point) in World Coordinates. Influences to the view projection vector and depth value.
  • Proj - View projection vector (VPN)
  • Up - Position of the high point / view up vector (VUP)
  • Depth - Distance between Eye and At point
  • ZSize - Distance between front and back clipping planes
  • Size - Window size in View Reference Coordinates
  • Focal Reference point - Position of Projection Reference Point (PRP) in World Coordinates
  • Focale - Distance between Projection Reference Point (PRP) and View projection plane

Management of perspective projection

The perspective projection allows definition of viewing volume as a truncated pyramid (frustum) with apex at the Projection Reference Point. In the View Reference Coordinate system it can be presented by the following picture:

View Reference Coordinate System, perspective viewing volume and view mapping parameter

During panning, window limits are changed, as if a sort of "frame" through which the user sees a portion of the view plane was moved over the view. The perspective frustum itself remains unchanged.

The perspective projection is defined by two parameters:

  • Depth value defines distance between Projection Reference Point and the nearest (front) clipping plane.
  • ZSize defines distance between Front and Back clipping planes. The influence of this parameter is caused by the OCCT specific to center viewing volume around View Reference Point so the front and back plane distances were the same: FPD = BPD = ZSize / 2.

Note that the closer the displayed object to the Projection Reference Point the more visible its perspective distortion. Thus, in order to get a good perspective it is recommended to set ZSize value comparable with the expected model size and small Depth value.

However, very small Depth values might lead to inaccuracy of "fit all" operation and to non-realistic perspective distortion.

Glossary of view transformations的更多相关文章

  1. Android API Guides---OpenGL ES

    OpenGL ES Android包含高性能2D和3D图形开放图形库(OpenGL®的).详细而言,OpenGL ES的API支持. OpenGL是一个跨平台的图形API.用于指定的3D图形处理硬件标 ...

  2. [译]Vulkan教程(25)描述符布局和buffer

    [译]Vulkan教程(25)描述符布局和buffer Descriptor layout and buffer 描述符布局和buffer Introduction 入门 We're now able ...

  3. OpenGL光照3:光源

    本文是个人学习记录,学习建议看教程 https://learnopengl-cn.github.io/ 非常感谢原作者JoeyDeVries和多为中文翻译者提供的优质教程 的内容为插入注释,可以先跳过 ...

  4. 虾扯蛋:Android View动画 Animation不完全解析

    本文结合一些周知的概念和源码片段,对View动画的工作原理进行挖掘和分析.以下不是对源码一丝不苟的分析过程,只是以搞清楚Animation的执行过程.如何被周期性调用为目标粗略分析下相关方法的执行细节 ...

  5. Android的setVisibility(View.GONE)无效的问题及原因分析(转)

    出现这种情况很可能是因为设置了animation,并且调用了setFillAfter(true),这就会导致setVisibility无效,只需要调用一下clearAnimation()方法或者去掉s ...

  6. Android的setVisibility(View.GONE)无效的问题及原因分析

    出现这种情况很可能是因为设置了animation,并且调用了setFillAfter(true),这就会导致setVisibility无效,只需要调用一下clearAnimation()方法或者去掉s ...

  7. 【IOS笔记】View Programming Guide for iOS -1

    原文:View Programming Guide for iOS View and Window Architecture Views and windows present your applic ...

  8. A Statistical View of Deep Learning (III): Memory and Kernels

    A Statistical View of Deep Learning (III): Memory and Kernels Memory, the ways in which we remember ...

  9. Android Folding View(折叠视图、控件)

    版本号:1.0 日期:2014.4.21 版权:© 2014 kince 转载注明出处 非常早之前看过有人求助以下这个效果是怎样实现的,   也就是側滑菜单的一个折叠效果,事实上关于这个效果的实现,谷 ...

随机推荐

  1. HDU 1166敌兵布阵+NOJv2 1025: Hkhv love spent money(线段树单点更新区间查询)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. centos7 安装mysql5.7及配置

    一.Mysql 各个版本区别:1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持.2.MySQL Enterprise Edition 企业版本,需付费,可以试 ...

  3. css 强制换行

    强制不换行 div{white-space:nowrap;} 自动换行div{ word-wrap: break-word; word-break: normal; } 强制英文单词断行div{wor ...

  4. 匈牙利命名法,骆驼命名法(camel),帕斯卡(Pascal)命名法(转)

    一.匈牙利命名法      Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) ...

  5. MVC @functions

    asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...

  6. 02/07/2106 @ 6:28am (UTC)

    <?php echo pow(2,32); 4294967296 http://www.unixtimestamp.com/index.php 4294967296 Is equivalent ...

  7. oracle utf8字符集转gbk(转)

    近日有同事在外面部署系统时,安装数据库时可能选择了UTF-8编码格式,导入insert语句时,一个汉字被认为三个字节,这是不行的. 结合上网搜到的资料,将oracle数据库的编码格式,从utf-8改为 ...

  8. 浮动以后父DIV包不住子DIV解决方案

    转载自http://blog.sina.com.cn/s/blog_6c363acf0100v4cz.html 当DIV1里面嵌套有一个DIV2,当DIV2设置了浮动,那么DIV1是无法被撑开的,也就 ...

  9. hibernate manytoone中的lazy EAGER

    Hibernate中的字段映射中的Fetch有两种方式:EAGER和LAZY Eager:全部抓取 Lazy:延迟抓取 如果在字段中声明为Eager,那么在取得当前Bean时,同时会抓取Bean中的关 ...

  10. Solr4.3之拼写检查Spellcheck功能

    原文地址:http://www.656463.com/article/iaquii.htm 拼写检查功能,能在搜索时提供一个较好用户体验,所以,主流的搜索引擎都有这个功能,在这之前,笔者先简单的说一下 ...