在網上抄的C++相機漫游演算法,改成了javascript版本的函式。本意是把頁面內一系列的div坐標點dots[{x:,y:},...]經過處理變換成新的點集回傳再呈現,起到漫游這些點/線的效果。但是總是不對,不知道錯在哪里了,請高手幫忙看一下。謝謝!!!
function roam(dots){//未處理好?
var lastX=400,lastY=300,firstMouse=true,yaw=0,pitch=0;
var pts=[];
for(var i=0; i<dots.length-1; i++){
var pt=dots[i];
if(firstMouse){
lastX = pt.x;
lastY = pt.y;
firstMouse = false;
}
var xoffset = pt.x - lastX;
var yoffset = lastY - pt.y;
lastX = pt.x;
lastY = pt.y;
var sensitivity = 0.05;
xoffset *= sensitivity;
yoffset *= sensitivity;
yaw += xoffset;
pitch += yoffset;
if(pitch > 89.0)
pitch = 89.0;
if(pitch < -89.0)
pitch = -89.0;
var pt={x:pt.x*(1+Math.cos(yaw)*Math.cos(pitch)), y:pt.y*(1+Math.sin(pitch)), z:pt.z*(1+Math.sin(yaw)*Math.cos(pitch))};
pts.push(pt);
}
return pts;
}
uj5u.com熱心網友回復:
沒有人回答嗎?是不是我的理解出了問題?已知有一系列的div像素點,我要從一條不同的路徑path去看這些點,應該怎么做?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/78073.html
標籤:機器視覺
