2011年4月3日 星期日

計算 FOV 視角

focus = h / (zoom * tan α)

tan α = h / (zoom * focus)


function getFOV(){

var h =panoview.getHeight();
var w =panoview.getWidth()/2;
var zoom = panoview.getZoom();
var focus = panoview.getFocus();

var alpha = w/(zoom*focus) ;

//alpha =1;
var rad =Math.atan(alpha);

var deg =rad/Math.PI*180;

setDebugText("focus:"+focus+", zoom:"+zoom+", h:"+ h +", alpha "+ alpha+", rad "+ rad +"\n");

return deg*2;
}


參考
http://blog.tartiflop.com/2008/08/understanding-zoom-focus-and-field-of-view-in-papervision3d/



http://gtt.webco.tw/modules/pano/picture_view.php?picture_id=0000000007420110513095250http://gtt.webco.tw/modules/pano/picture_view.php?picture_id=0000000007420110513095250

沒有留言: