如何调整两条线之间绘制的线的长度?
How to adjust length of a line drawn between two lines?
我在两点之间画了一条线
origin = [1 0 2];
point = [1 -2.8 2.8 ];
我想在它们之间以一定的距离画一条线。我已经尝试了以下方法,结果是错误的...有更好的方法吗?
distance = 0.5;
point3 = origin + (point-origin) * distance;
我的解决方案:
假定我将从同一起点开始,只是最后一点发生变化:
cff = 0.5; % Coefficient that determines the length of the line
point2(1)= origin(1) + cff* (point(1) - origin(1));
point2(2)= origin(2) + cff* (point(2)- origin(2));
point2(3)= origin(3) + cff* (point(3) - origin(3));
对于距原点一定距离的长度:
d = 3; % Distance
unit_v = point - origin;
u = unit_v / norm(unit_v);
point2(1)= origin(1) + d * u(1) ;
point2(2)= origin(2) + d * u(2) ;
point2(3)= origin(3) + d * u(3) ;
可以计算起点到终点的单位向量并移动起点:
A = [1 0 2];
B = [1 -2.8 2.8 ];
d = 0.5;
V = B-A; % A->B vector
l = norm(V); % length of V
U = V/l; % unit vector
C = A + d*U;
D = A + (l-d)*U;
hold on
plot3([A(1) B(1)], [A(2) B(2)],[A(3) B(3)], '--o')
plot3([C(1) D(1)], [C(2) D(2)],[C(3) D(3)], '-x', 'linewidth', 2)
我在两点之间画了一条线
origin = [1 0 2];
point = [1 -2.8 2.8 ];
我想在它们之间以一定的距离画一条线。我已经尝试了以下方法,结果是错误的...有更好的方法吗?
distance = 0.5;
point3 = origin + (point-origin) * distance;
我的解决方案: 假定我将从同一起点开始,只是最后一点发生变化:
cff = 0.5; % Coefficient that determines the length of the line
point2(1)= origin(1) + cff* (point(1) - origin(1));
point2(2)= origin(2) + cff* (point(2)- origin(2));
point2(3)= origin(3) + cff* (point(3) - origin(3));
对于距原点一定距离的长度:
d = 3; % Distance
unit_v = point - origin;
u = unit_v / norm(unit_v);
point2(1)= origin(1) + d * u(1) ;
point2(2)= origin(2) + d * u(2) ;
point2(3)= origin(3) + d * u(3) ;
可以计算起点到终点的单位向量并移动起点:
A = [1 0 2];
B = [1 -2.8 2.8 ];
d = 0.5;
V = B-A; % A->B vector
l = norm(V); % length of V
U = V/l; % unit vector
C = A + d*U;
D = A + (l-d)*U;
hold on
plot3([A(1) B(1)], [A(2) B(2)],[A(3) B(3)], '--o')
plot3([C(1) D(1)], [C(2) D(2)],[C(3) D(3)], '-x', 'linewidth', 2)