在日常开发中,经常会遇到有需求说当相机与物体距离小于多少时.......当相机与物体距离大于多少时.......
eg:
相机与物体小于阈值时
s.png
相机与物体大于阈值时
b.png
根据以上需求我们可以通过勾股算法来求出当相机到达阈值时应该有怎样的后续业务逻辑
/**
* @description: 通过勾股定理求出三维焦点距离三维中心点的距离
* @param {Array<number>} focus 焦点
* @param {Array<number>} center 中心点
* @return {Number} 距离
*/
export const pythagorean3d = (focus: Array<number>, center: Array<number>): number => {
if (focus.length && center.length) {
return Math.sqrt(Math.pow(focus[0] - center[0], 2) + Math.pow(focus[1] - center[1], 2) + Math.pow(focus[2] - center[2], 2))
}
}