计算机组成ar什么意思,[自译]计算机所理解的AR空间

2023-11-03 07:30

本文主要是介绍计算机组成ar什么意思,[自译]计算机所理解的AR空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看完后,感觉补习了一回高中的坐标系课程,哈哈~还是挺有意思的,温故知新,可以去原文看看呀~

原文作者:Kore

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

AR技术的目标就是将计算机的空间感知与人类的理解叠加起来。在计算机科学中,空间是一个隐喻,代表了公众认同,和被科学验证的空间、时间以及物质概念。

计算机对空间的理解,就是建立在数学方法描述物体三维属性,坐标以及物质。它可以简单地通过坐标系统来理解,而不需要hyper-realties或者coordinate systems这样的复杂术语。尽管这些事有趣的内容。虚拟空间就是计算机对人类提供的现实世界数据的理解。

人类是空间生物,我们与大部分的三维世界互动和理解。当AR试图将虚拟世界模拟真实的世界时,了解三维空间的基本内容是很重要的。

视觉空间和对象空间

我们所感知的物体在环境中的位置,是在视网膜上光的重建。计算机图形学中的视觉空间可以定义为感知空间或参与者体验到三维空间中的视觉场景。

对象所存在的空间称为对象空间,它是视觉空间的直接对应参考。

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

每只眼睛所看到的视觉空间都不一样,这是计算机图形学对双眼虚拟设备或者智能眼镜的一个挑战。为了设计虚拟世界,对虚拟对象在现实世界中的坐标和方向有一个共识是很重要的。共同协调的定向系统在这里有很大的帮助。

位置与坐标

VR和AR的布局采用三种坐标系:

笛卡尔坐标

笛卡尔坐标系的使用主要是简单易于理解,大多数的虚拟空间都是这样定义的。基于x-y-z的坐标可以精确的指定虚拟空间中的位置。这三个坐标平面相互垂直,距离和位置都是从原点开始指定的,原点是三个平面相交的点。该系统主要用户定义三维物体的视觉坐标。

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

球面极坐标

笛卡尔坐标系通常定义三维物体相对于原点的位置,在定位对象和特征时,根据用户的位置采用球面极坐标系。系统主要用户虚拟音源的映射关系,或基于第一视角的沉浸式VR的球面图像映射。球坐标系是由球面等分的垂直平面构成,由方位角,仰角和距离三个部分组成。方位角是球面上水平面原点的角度,仰角是垂直平面的角度。距离是距离远点的大小。

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

柱坐标系

该系统主要用于VR应用中的360度全景视图。柱坐标系允许精确的映射与定位静止图像。系统包括一个中央参考轴(L)与原点(O)。径向距离 (ρ)的定义是从原点(O)开始。角坐标 (φ)是径向距离 (ρ)与高度(z)定义。

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

定义方向与旋转

需要定义用户的视点与对象的方向,旋转角度,以及在虚拟空间中的位置。在跟踪用户查看的位置,或者了解虚拟对象与视觉空间的相对位置时,这点很重要。

6个自由度

在VR和AR中,通常用三个独立的数值来定义方向和旋转性。这被定义为roll(x),pitch(y),yaw(z)。再加上三个方向的位移,组合起来就是6个自由度。

c408a7787d07?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

导航

导航和寻路在虚拟空间中时两个复杂的概念,尤其是对VR和AR来说,它可以通过用户在物理世界中的位移来达到在虚拟世界中更大的位移效果。例如在《使命召唤》中,肢体动作可以是你的手脚动作,虚拟动作可能是前往敌方基地,大量的设备可以实现虚拟移动,键盘,手柄,多维跑步机等。在虚拟和物理空间中的连接方式就是导航设计的关键。

这篇关于计算机组成ar什么意思,[自译]计算机所理解的AR空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336592

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字