
08.12.2008, 18:19
|
|
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
С нами:
9751512
Репутация:
14
|
|
Народ подскажите как в С++ найти координаты проекции отрезка на прямую ?
В общем по геометрии делаетса так :
Если отрезок задается координатами концов (x1,y1) и (x2,y2), то координаты вектора a=(x2-x1,y2-y1)==(ax,ay). Аналогично для прямой, проходящей через (x3,y3) и (x4,y4), b=(x4-x3,y4-y3)==(bx,by).
Скал. произведение: ab = (ax*bx + ay*by).
Модули: |a| = sqrt(ax^2 + ay^2), |b| = sqrt(bx^2 + by^2). Тогда угол cos(alpha) = ab/(|a||b|). Сам угол находить нет смысла, т.к. для вычисления проекции нужен косинус.
Проекция определяется как длина проецируемого отрезка * cos(alpha).
Мне по заданию нужно найти проекции массива отрезков на массив прямых и ВЫДЕЛИТЬ их отдельным цветом !
Как получить координаты етих проекций !
Да и еще такой глуповатый вопрос :
Отрезок в С++ рисуется line(x1,y1,x2,y2);
Тогда как нарисовать прямую и вектор ?!
|
|
|