已知三维空间一点P(x1,y1,z1),将其沿向量n(x,y,z)方向,移动距离d,求移动后P'的坐标(x2,y2,z2)

1.已知三维空间一点P(x1,y1,z1),将其沿向量n(x,y,z)方向,移动距离d,求移动后P'的坐标(x2,y2,z2)?
2.如果不止一个点P,而是三维空间点集Mi(xi,yi,zi),i=0,1,2……n,每个点都有自己的法向量ni(xi,yi,zi),将每个M,沿每个对应的n,移动距离d,则移动后Mi'的坐标是多少?

单点情况


x1 = 1;
y1 = 1;
z1 = -1;
x = 1;
y = 0;
z = 1;
d = 2;

P = [x1;y1;z1];
N = [x;y;z];
Pp = P + d*N/norm(N)

结果:


Pp =

    2.4142
    1.0000
    0.4142

点集情况


M = [1 2 3 4 5
     1 2 3 4 5
     1 2 3 4 5];
N = [1 -1 0 2 3
     0 1 2  0 1
     0 0 1  0 1 ];
Mp = M + d*N/sqrt(sum(N.^2))

结果:


Mp =

    2.1770    3.1770    4.1770    5.1770    6.1770
    1.8003    2.8003    3.8003    4.8003    5.8003
    1.4828    2.4828    3.4828    4.4828    5.4828