Показать сообщение отдельно

  #1993  
Старый 08.12.2008, 18:19
043nKRuT0y
Участник форума
Регистрация: 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);
Тогда как нарисовать прямую и вектор ?!
 
Ответить с цитированием