안녕하세요 : 당신이 원활를 확인하려면
camera.rotateOnAxis(axis, angle);
또는 : 천사가 내적에서 추출 할 수있다 :
var object_dir = object_world_point.clone().sub(camera.position);
var axis = vec.clone().crossProduct(object_dir);
var angle = Math.acos(vec.clone().dot(object_dir)/vec.length()/object_dir.length());
각도와 축을 갖는, 우리는 카메라를 회전 할 수 친애하는 이쪽을 따라 주시기 바랍니다 장면에서 포인트를 선택하는 방법과는 별도로 "회전만으로 카메라를 가져 오는 것"이 무엇을 의미하는지 이해할 수 있습니다. 화면 중앙에 선택한 점을 만들기 위해 카메라를 회전시키고 싶습니다. 이 간단하다 :
camera.lookAt(your_point_in_scene);
당신이 더 복잡 할 수 있습니다. 먼저 현재 포인팅 벡터를 찾습니다. 기본적으로 카메라는 Vector (0,0,1) 방향을 찾습니다. 우리가 카메라와 같은 회전으로 회전 할 때, 우리는 카메라 방향이있을 것이다 :
var vec = new THREE.Vector3(0,0,1);
vec.applyQuaternion(camera.rotation._quaternion);
이제 우리는 우리의 카메라 및 축, 우리는 회전 것이다 주위를 회전하는 각도를 결정해야합니다. 회전축은 카메라 방향과 카메라의 교차 방향 벡터의 교차 곱으로 구할 수 있습니다. 내적에서 각도를 추출 할 수 있습니다.
var object_dir = object_world_point.clone().sub(camera.position);
var axis = vec.clone().crossProduct(object_dir);
var angle = Math.acos(vec.clone().dot(object_dir)/vec.length()/object_dir.length());