1、测量距离
a、获取屏幕坐标位置,转化为三维坐标位置。代码如下:
var cx = event.clientX;//屏幕X轴坐标
var cy = event.clientY;//屏幕Y轴坐标
var x = ( cx / window.innerWidth ) * 2 - 1;
var y = -( cy / window.innerHeight ) * 2 + 1;
var standardVector = new THREE.Vector3(x, y, 1);
b、需要将得到的三维向量坐标转为视点坐标系(参照是摄像机),并且创建射线,方向是选定模型点与摄像机两点的连线
var ray = worldVector.sub(camera.position).normalize();
var raycaster = new THREE.Raycaster(camera.position, ray);
var intersects = raycaster.intersectObjects(name,true);
这就是测量距离的核心思想,如果有更好的想法,可以扫描下方企鹅进行交流。
2、测量厚度
3、测量半径
4测量角度