3D三角函数:沿着球体表面在空间中找到一个点

M. *_*yan 3 math 3d trigonometry coordinates

我在3D空间中有两个点,比方说(0,0,0)和(5,5,0)

我有一个相机(0,0,5)

鉴于此,第一个点(0,0,0)比第二个点更靠近相机.我想要做的是让第二点与摄像机点的距离有限,这样它(或实际上任何假设点)都不能远离摄像机点而不是我的控制点距离(0,0, 0).

我可以使用什么数学设备计算空间中与摄像机相同的矢量,但不是很远的点?

我希望这是有道理的...我希望我的数学课程比基本代数高.

par*_*mar 5

如果我理解正确的话.你有点让P1(x1,y1,z1)和距离D和另一个点P2(x2,y2,z2),你想要另一个点P3,使它与P2的方向相同,但只与P1的距离为D. 如果是这样的话.

从P1到P2的方向V1(P2-P1),即(x2-x1,y2-y1,z2-z1)

来自V1的单位矢量将是U1

U1 = V1 / distance between ( P1 , P2)
Run Code Online (Sandbox Code Playgroud)

两点之间距离的公式

最后P3将沿着这个单位向量的距离为D.

P3 = P1 +  U1 * D
Run Code Online (Sandbox Code Playgroud)