免责声明:这都是我认为的,我没有确切的功能。
第 1 步:视口假设
您需要考虑的是视口。走路时,你有一个视野。让我们通过考虑普通人在观看时不使用他们的周边视觉来简化这个场景(为简单起见,显然这在现实生活中是不正确的)。考虑到在向前看时,您会看到 180 度 - 并且没有外围设备,让我们假设左右 45 度都被移除。这将呈现一个 90 度宽的视口,在其底部,观察者将看到一个向左 45 度和向右 45 度的直角三角形。请注意,这些都不是测量的或纯粹的科学,但为了制作增强现实,某些假设可以使处理变得更容易。
第 2 步:视口的好处
现在,基于之前对视口的定义——考虑远距离的物体将占据该视图的哪个部分。这实际上可以开始生成真正的数学:)!当您靠近时,对象会变得更大,因为它占据了视图的更大部分。对象占据的视图部分取决于对象大小和视图大小之间的关系。在这种情况下,视图的大小是视口的弧长!
第 3 步:一些数学
让我们做另一个假设来简化这个过程。让我们假设我们不是查看真实的弧线,而是查看视口的斜边。当从距离d看时,以 90 度的视角看,视口的斜边将为
hypotenuse = 2.83 * d
//Note: 2.83 is approx. 2 * sqr. root of 2
第 4 步:结论和应用
因此,如果您站在距离物体 100 英尺的地方,那么您的视口将是 283 英尺。如果物体(例如汽车的前部)占据 6 英尺,那么这将仅占全视图的 6/283 = 2%。
但是,如果您站在距同一辆车 50 英尺的位置,则该关系将为 6 / 141 = 4% 的全视图。
可以看到,这显然是一个线性关系。如果您知道对象的大小是多少(让我们称之为s),那么应该采取的视图百分比将是
view % = s / 2.83d
此外,这里显示的是确定对象的大小非常重要,并且很难从单个 .jpg 图像中推断出来。我可以有一张 5 号足球的图片,大小为 2500 像素 x 2500 像素。这是否意味着它很大?不,但如果它的大小的唯一假设来自总像素数,它看起来会很大。沿着同样的思路,我可以有一个 100 像素 x 100 像素的地球图片,但我希望它不会显得那么小。
求解对象的大小将产生允许用户在增强现实中接近对象的结果。知道如何在用户接近时缩放图像是相当微不足道的。