Я как бы застрял в этой проблеме, когда пытаюсь изменить длину нарисованной линии, перемещая вторую точку и сохраняя ее наклон.
Примечание: все это нарисовано на холсте в wpf.
Я рассчитал наклон:
var slope = (point2Y - point1Y) / (point2X - point1X);
Используя функцию арканаза, я смог вычислитьмой угол наклона alpha
.
var alpha = Math.Atan(slope);
Теперь я использую Math.Cos
и Math.Sin
, чтобы получить координаты моей новой точки.
var xNew = point1X + length * Math.Cos(alpha);
var yNew = point1Y + length * Math.Sin(alpha);
Это хорошо в двух из четырех случаев.Но в двух других случаях точки, кажется, «помещаются не с той стороны».
Я не математик и не могу найти правильного решения после нескольких испытаний.
Я ценю любыепомощь!