比如实物10米的时候就在屏幕上显示宽度1440(1440*900),离得越远就越小,
如输入的是5000米,那么就在屏幕中显示1*1的像素点,
当然也可以设置5米为屏幕的最宽1000就显示成1*1的一个像素点这么小,
需要知道的这个比例怎么计算,
10米的时候对应的电脑像素点是多大。
500米的时候对应的电脑像素点是多大。
已知假设的条例是
10米 对应1440像素
5000米应用的是1像素
即
10---1440 已知
20--------?
2512----?
5000----1 已知
------解决思路----------------------
正常来说, 视觉大小是跟距离反比的
就是一个等比三角形
10---1440 已知
20--- 应该为 1440 * 10 /20 = 720
当然你也不用这个视觉的方式可以用插值, 比如
10---1440 已知
5000----1 已知
y = ax + b
10, 1440
5000, 1 用 数值带入, 得到
a, b 为: -0.288377, 1442.883768, 用这个公式得到大小
------解决思路----------------------
500米你还能看的清楚,那你是神眼了
------解决思路----------------------
又是一个线性插值。。。
y =( y0*(x1-x) + y1*(x-x0))/(x1-x0);
10---1440 已知 10:x0 1440:y0
20--------? 20:x ,求y
2512----?
5000----1 已知 5000:x1 1:y1
代入上式即可
不要用ax+b 多了2次 浮点计算误差
------解决思路----------------------
比较自由的办法就是 测试大量的远近缩放的对应数据,然后找一个公式拟合软件 用这些数据拟合出一个公式 在程序中使用