Произведение точки Perp и точка пересечения между 2 векторами - PullRequest
3 голосов
/ 05 февраля 2012

Я читал блог о пересечении векторов.В этом блоге я нашел что-то вроде этого:

v3={vx:v2.p0.x-v1.p0.x, vy:v2.p0.y-v1.p0.y};
var t=perP(v3, v2)/perP(v1, v2);
ip={};
ip.x=v1.p0.x+v1.vx*t;
ip.y=v1.p0.y+v1.vy*t;

function perP(va, vb)
{
    pp = va.vx*vb.vy - va.vy*vb.vx;
    return pp;
}

Вот как они вычисляют пересечение вектора v2 против v1.Часть, которую я не понимаю, - это вычисление t (то есть дробь на v2, являющаяся точкой пересечения).

Может кто-нибудь объяснить, почему разделение между продуктами perp равно t?Читал какую-то другую информацию и т.д ... но не могу понять.

PD: Полный пост в блоге: http://www.tonypa.pri.ee/vectors/tut05.html

Заранее спасибо.

1 Ответ

2 голосов
/ 05 февраля 2012

Произведение v1 и v2 равно площади параллелограмма, образованной этими векторами. То же самое верно для произведений v2 и v3. Два параллелограмма имеют общую базу (v2), но разной высоты. Высота1 = v1. ДельтаY и высота2 = v3.DeltaY = v1. Дельта * t. Таким образом, соотношение площадей (и соотношение продуктов) составляет t

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