首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增强现实大小转换

增强现实大小转换
EN

Stack Overflow用户
提问于 2011-11-09 02:34:23
回答 2查看 289关注 0票数 2

我们目前正在开发一款应用程序,该应用程序将显示叠加在相机视图(基本上是增强现实)上的对象,但发现这些对象看起来并不“真实”。这样做的原因是因为我们的对象的大小不会像现实生活中的对象那样改变大小。

例如,假设我们在增强现实中放置了一个对象,位置为lat = 43,long = -70。如果我们开始用手机走近这一点,我们应该会看到物体随着我们的走近而变大,但到目前为止,大小的增加是线性的。然而,当我们开始走近现实生活中的物体时,我们会看到它根据特定的功能变得越来越大。

关于这个函数是什么有什么想法吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 10:04:33

我相信我已经在这里找到了答案:http://en.wikipedia.org/wiki/Visual_angle。看起来要使用的正确公式是tan(2 * arctan(realSize /2* distance)) * screenSize。

如果我的数学有误,请帮我改正。

票数 1
EN

Stack Overflow用户

发布于 2011-11-09 03:12:05

它应该相对于相机后面的某个点是线性的。

想象一下,在一个3D世界中,你将一幅图像投影到一个平面上(拍照)。如果保持该状态,则当平面(摄影机)移动时,对象的大小不会改变。这将是一个正交投影(http://en.wikipedia.org/wiki/Orthographic_projection)。

真实世界的摄影机的工作方式类似于透视投影(http://en.wikipedia.org/wiki/Perspective_(graphical)),不同之处在于该点在摄影机的前面,并且图像在平面上反转。这意味着图像上对象的大小是如下所示的函数

代码语言:javascript
复制
realSize * (constantDistanceBetweenPlaneAndPoint / distanceFromPoint)

我对相机的了解还不够多,无法告诉你这个值是否记录在案,但是对于某个缩放因子,这个值应该是恒定的。这只是一个通过实验弄清楚的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8055404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档