Если у меня есть уравнение прямой, как мне найти точку на этой линии, которая находится на определенном расстоянии от другой? - PullRequest
0 голосов
/ 31 июля 2010

У меня есть две точки, и мне нужно создать линию, перпендикулярную линии, которую они образуют. Также пересечение должно быть на расстоянии 5 (единиц) от первой точки. Я знаю, как получить перпендикулярную линию, но не знаю, как получить точку на первой линии, которая находится на расстоянии 5 единиц от первой точки.

Ответы [ 2 ]

3 голосов
/ 31 июля 2010
public static function distanceFromPoint(a:Point, b:Point, dist:Number):Point {
    var tmp:Point = b.subtract(a);
    tmp.normalize(dist);
    return a.add(tmp);
}

Как это работает: Вы вычитаете a из b, чтобы получить вектор между двумя точками.Вы нормализуете этот вектор и умножаете его на dist, чтобы получить линию dist единиц длиной, указывающую в направлении от a до b.Добавьте этот вектор к точке a, и результатом будет новая точка, которая составляет dist единиц от a в направлении b.

0 голосов
/ 31 июля 2010

используйте уравнение круга с центром в первой точке и решите для x и y.

первая точка = x_0, y_0

уравнение круга радиуса 5 вокруг первой точки

(x - x_0) ^ 2 + (y - y_0) ^ 2 = 25

используйте уравнение линии, чтобы заменить y, и решите для x.Осторожно, что вы получите 2 балла, выберите правильный.Используйте уравнение линии снова, чтобы решить для y.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...