UPD все-таки непривычно мыслить многомерными векторами.... Вот так получше будет, методически правильнее

CODE
M = 5;
N = 3;
al = 0.01*pi:0.001*pi:(pi - 0.01*pi);
be = acot(M./N - cot(al));
x = -tan(be).*M./(-tan(be) - tan(al));
y = x.*tan(al);
clf reset
set(plot([0, M], [0, 0], 'or'), 'LineWidth', 4);
title('Линия на расстоянии 3 от линии ведущий - ведомый')
xlabel('Ведущий: 0, ведомый: 5')
text(1, -2, 'A')
text(M + 1, -2, 'B')
hold on
plot(x, y, '-x')
hold off
grid on
axis equal
CODE
M = -2;
N = 3;
al = 0:0.001*pi:2*pi;
be = acot( (M./N - cos(al)) ./ sin(al) );
x = -tan(be).*M./(-tan(be) - tan(al));
y = x.*tan(al);
clf reset
set(plot([0, M], [0, 0], 'or'), 'LineWidth', 4);
title('Окружность радиуса 3 с центром в ведущем')
xlabel('Ведущий: 0, ведомый: -2')
text(0.1, -0.2, 'A')
text(M + 0.1, -0.2, 'B')
hold on
plot(x, y, '-x')
hold off
grid on
axis equal