第三章:多坐标系

第一节:为什么要有多坐标系

  当我们使用一个坐标系来描绘整个场景的时候,场景中的任意点都可以用该坐标系描述,此时如果有一只羊一遍摇动着耳朵,一边走,这个时候如果进行坐标的转换会发现异常的麻烦,此时如果我们把羊看做整体,羊的移动问题就可以用这个坐标系解决,但是这只该死的羊还摇动耳朵,这时候我们应该以羊为坐标系,羊的耳朵移动是在羊这个坐标系的基础上就简单了。

第二节:世界坐标系

1.世界坐标系的概念

  世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。世界坐标系就是最大的坐标系,世界坐标系也被称为全局坐标系或者宇宙坐标系。

2.关于世界坐标系的常见问题

  • 世界坐标系的典型问题都是关于初始位置和环境的。如下
  • 每个物体的位置和方向
  • 摄像机的位置和方向
  • 世界中每一点的地形是什么(如山丘,建筑,湖泊等)
  • 各物体从哪里来到哪里去(NPC的运动策略)

第三节:物体坐标系

1.物体坐标系的概念

  物体坐标系是和特定物体相关联的坐标系,每个物体都有他们独立的坐标系,当物体移动或者改变方向的时候,和该物体相关联的坐标系将随之移动或改变方向。例如,我们每个人都带着自己的坐标系,如果我告诉你“向前一步走”是指在物体坐标系中向前走,当我告诉你“向北一步走”,此时的向北是在世界坐标系的基础上,因为前后左右是物体坐标系自己知道的,但是东西南北是在世界坐标系下衍生出来的概念。

  还有一个简单的例子,例如我询问你车里的音响是在哪,即使你在潍坊,你也不能告诉我在潍坊,而是告诉我在车的哪里,应该说在车门上。这个时候就是以物体坐标系为基础,而不是世界坐标系。

2.物体坐标系常见问题

  •  周围有互相作用的物体吗?(我需要攻击他吗)
  • 哪个方向?在我前面吗?我左边一点?(我应该是射击它还是逃跑)

第四节:摄像机坐标系

1.摄像机坐标系的概念

  摄像机坐标系是和观察者密切相关的坐标系。摄像机坐标系和屏幕坐标系相似,差别在于摄像机坐标系处于3D空间中,而屏幕坐标系是在2D平面里,可以理解摄像机坐标的获取视景展示在屏幕上。摄像机坐标系可以理解为特殊的“物体坐标系”,摄像机坐标系中,摄像机在原点,x轴向右,z轴向前(摄像机的拍摄方向),y轴向上(不是世界的上方,而是摄像机本身的上方,如果放反了,拍出来的就是反的效果)

  

2.摄像机坐标系常见的问题

  • 3D空间中的给定点在摄像机前方吗?
  • 3D空间中给定点是在屏幕上,还是超出了摄像机平截锥体的左右上下边界?(平截锥体就是摄像机能观察到的金字塔区域)
  • 某个物体是否在屏幕上?它的部分在,或全部不在?
  • 两个物体,谁在前面?(该问题称作可见性检测)

第五节:惯性坐标系

1.惯性坐标系的概念

  有时候,好的术语是引领人们正确理解主题的关键。为了简化世界坐标系到物体坐标系的转换,人们引入了一种新的坐标系,称作惯性坐标系,意思是在世界坐标系到物体坐标系的“半途”。惯性坐标系的原点与物体坐标系的原点相重合,并且惯性坐标系的轴平行于世界坐标系的轴。

  

  上图中,物体坐标系(Object Space)的坐标点要转换到世界坐标系(World Space)中,就需要实用惯性坐标系(Inertial Space)作为过渡。 

 

转载于:https://www.cnblogs.com/metalsteel/p/6387628.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 设备驱动开发 —— 设备树在platform设备驱动中的使用

关与设备树的概念,我们在Exynos4412 内核移植(六)—— 设备树解析 里面已经学习过,下面看一下设备树在设备驱动开发中起到的作用 Device Tree是一种描述硬件的数据结构,设备树源(Device Tree Source)文件(以…

Android 网络通信框架Volley简介(Google IO 2013)

1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上&…

Linux 设备驱动开发 —— platform设备驱动应用实例解析

前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 —— platform 设备驱动 ,下面将通过一个实例来深入我们的学习。 一、platform 驱动的工作过程 platform模型驱动编程,需要实现platform_device(设备)与platform_driver(驱动&am…

Python爬虫入门四urllib库的高级用法

1.设置headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些 Headers 的属性。 首先,打开我们的浏览器,调试浏览器…

进程上下文、中断上下文及原子上下文

谈论进程上下文 、中断上下文 、 原子上下文之前,有必要讨论下两个概念: a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,…

Linux 文件系统与设备文件系统 (二)—— sysfs 文件系统与Linux设备模型

提到 sysfs 文件系统 ,必须先需要了解的是Linux设备模型,什么是Linux设备模型呢? 一、Linux 设备模型 1、设备模型概述 从2.6版本开始,Linux开发团队便为内核建立起一个统一的设备模型。在以前的内核中没有独立的数据结构用来让内…

Python爬虫入门七正则表达式

已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式 1.了解正则表达式 正则表达式是用来匹配字符串非常强大的工具,在其…

Linux 文件系统与设备文件系统 (一)—— udev 设备文件系统

一、什么是Linux设备文件系统 首先我们不看定义,定义总是太抽象很难理解,我们先看现象。当我们往开发板上移植了一个新的文件系统之后(假如各种设备驱动也移植好了),启动开发板,我们用串口工具进入开发板&a…

情人节,教大家使用css画出一朵玫瑰花。

情人节到了,给大家来一朵高端的玫瑰花。 在网上看到的一个canvas实现的玫瑰花,效果很好,但是代码被压缩过,也没有注释,看的云里雾里的。 今天我教大脚用CSS来实现一朵玫瑰花。 先看效果 首先我们画出一个花瓣 1、画出一…

Linux 字符设备驱动开发基础(六)—— VFS 虚拟文件系统解析

一、VFS 虚拟文件系统基础概念 Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件系统的存在。虚拟文件系统,即VFS(Virtual File System)是 Linux 内核中的一个软件抽象层。它通过一些…

vim使用—实现程序的自动补齐(C语言)

使用过Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,也都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。至于如何实现程序自动补全,网上教程很多。这里,我将自己配置过程…

[C#]Attribute特性(3)——AttributeUsage特性和特性标识符

相关文章 [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用AttributeUsage特性来定义您想怎样使用这些特性。AttributeUsage特性采用如下的调用惯例: 1 [Attri…

Linux 命令 ——less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less …

android闹钟实现原理

闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽) 我们来看看新建闹钟到闹钟响铃的步骤: 1、新建一个闹钟: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22…

将openstack的Token认证信息存储在memcache中

公司线上的openstack环境运行了5个多月的时间,keystone库的token表已经增长到了31GB,这个数据量还是很大的,对于以后的数据库备份很不方便。每次管理openstack的时候,都会产生一个新的token验证,而历史token信息其实都…

Linux 下shell编程

什么是shell?Shell是一个命令解析器,是介于Linux操作系统的内核(kernel)与用户之间的一个绝缘层。shell脚本就是讲各类命令预先放入其中,方便一次性执行的一个程序文件,主要用于方便管理员进行设置或者管理。 序员的角度来看, Sh…

linux 目录/sys 解析

今天学习Linux目录时,遇到/sys这个目录,老师怎么讲的,不太清楚,先对/sys目录知识进行一个整理 首先,对 /sys目录下的各个子目录进行具体说明: /sys下的子目录 内容 /sys/devices 该目录下…

南下事业篇——深圳 深圳(回顾)

2019独角兽企业重金招聘Python工程师标准>>> 二0一二年三月二十三号记录了下面的一篇日志,现在回味一下觉得自己有点惭愧,但不后悔,知道的越多就越了解自己的无知,工作之后渐渐磨灭了许多锐气,变得平滑低调…

php中花括号的使用

一、界定变量名 注:花括号内若左侧出现空格,则会当做普通花括号来解析。 二、界定表达式 1.获取字符串中某个字符 如:$strabcdefg; echo $str{0};//a 效果等同于$str[0]; 2.作为表示下标的方法定义数组 如:$arr []; $arr{10}4;…

游戏开发--开源软件8--cyclone2D(手机引擎+设计工具)

2019独角兽企业重金招聘Python工程师标准>>> Cyclone2D (飓风软件)是集成的手机游戏设计工具以及开源的引擎,工具提供了强大的动画、地图、数值、脚本等设计功能,开源引擎提供了一体化的模块加载与管理,并提供了详细的API文档以及…