我想用相机在墙上投射图像。本质上,图像必须根据相机和墙壁之间的距离进行缩放。
首先,我使用直角三角函数(visionHeight * Math.tan(a))进行距离计算。它不是 100% 准确但仍接近实际值。
其次,知道了距离,我们可以尝试使用等腰三角形三角公式计算出所有全景高度:c = a * tan(A);
A = mCamera.getParameters().getVerticalViewAngle();
结果比实际物体高度高出大约 30%,这有点奇怪。
double panoramaHeight = (distance * Math.tan( mCamera.getParameters().getVerticalViewAngle() / 2 * 0.0174532925)) * 2;
我也尝试使用相同的等腰三角形公式计算出这些角度,但现在知道了距离和高度。我有 28 度和 48 度角。
这是否意味着android相机不会渲染它拍摄的所有东西?而且,您还可以提出哪些其他解决方案?