3d 相对于平面定位相机
我有一个平面,它被定位在某个x,y,z位置,并且在3d空间中旋转。 我知道如何在设置相同的坐标和旋转的情况下将相机定位,但我想将相机放置在一定的距离。有人能告诉我这样做的公式吗?或者如果它存在一个three.js方法来实现图像中的结果3d 相对于平面定位相机,3d,camera,three.js,position,3d,Camera,Three.js,Position,我有一个平面,它被定位在某个x,y,z位置,并且在3d空间中旋转。 我知道如何在设置相同的坐标和旋转的情况下将相机定位,但我想将相机放置在一定的距离。有人能告诉我这样做的公式吗?或者如果它存在一个three.js方法来实现图像中的结果 谢谢 可以使用垂直于平面的矢量计算相机的位置: camera_position = plane_position + distance_to_the_plane * plane_normal 或 将相机放置在平面的另一侧 之后,可以旋转摄影机,使其指向矢量:
谢谢 可以使用垂直于平面的矢量计算相机的位置:
camera_position = plane_position + distance_to_the_plane * plane_normal
或
将相机放置在平面的另一侧
之后,可以旋转摄影机,使其指向矢量:
-plane_normal
使用相机对象的注视成员
这是您在评论中提出的程序:
var distance = 100; // for example
camera.position.copy( plane.normal ).multiplyScalar( distance ).add( plane.position );
var direction = new THREE.Vector3();
direction.copy( plane.normal ).negate();
camera.lookAt( direction );
非常感谢您的回答,我在three.js方面不太先进,所以如果您能给出实际的例子,那就太好了。例如,如果我有这样的平面:plane.x=100;平面y=400;平面z=500;平面旋转x=0.4;平面旋转y=0.1;平面旋转z=0.4;摄像机位置设置(0,0,0);相机。旋转。设置(0,0,0);实际上,我应该写些什么来规范化并将您向我解释的内容转换为代码?对不起,如果我听不懂,谢谢你非常感谢你的解释,它很有效!:)您认为也可以将其应用于css3d渲染div吗?
var distance = 100; // for example
camera.position.copy( plane.normal ).multiplyScalar( distance ).add( plane.position );
var direction = new THREE.Vector3();
direction.copy( plane.normal ).negate();
camera.lookAt( direction );