找到投影和z距离

问题描述

| 我有一张代表投影的图像。我将用一个例子来解释这个问题:   在屏幕上,有一条线从一个点E(100,200)到另一点   H(150,100)。 A代表一分   在现实世界中是在200厘米   距离,而B是在   现实世界距离300厘米。 我想知道的是: 给定通过这两个点的直线的一个点,是否有一种方法可以计算出它应该具有的z距离数据? 如果z距离不是线性函数而是某个对数函数,该怎么办? 如果不清楚,问我一切, 干杯     

解决方法

我认为您正在获得的是透视正确的插值。如果您知道E处的深度和H处的深度,并且B在连接这两个点的线上(在图像中),请使用以下方法求解B处的深度:
1/Zb = s * 1/Ze + (1-s) * 1/Zh
其中s是沿着屏幕空间中的线的归一化距离/插值参数(0到1之间),表示
B = s * E + (1-s) * H
    ,使用齐次坐标,该坐标可以在屏幕空间中线性插值(用于深度和纹理):http://www.cs.unc.edu/~olano/papers/2dh-tri/     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...