| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Поворот вектора a ближайшим путем к вектору b |
| Автор: 31416 23.10.2006, 15:48 |
| Нужно осуществить поворот вектора a ближайшим путем к вектору b, на заданный угол w - если угол больше угла между ними то они должны совпасть . Кто сталкивался какие будут идеи,советы,код... |
| Автор: digs 23.10.2006, 16:41 |
| Обычная матрица поворота. В инете полно информации. Что касается направления, то можно через вектор b построить прямую, (например считая, что начало вектора совпадает с началом координат) и найти ее уравнение вида Ax+By+C=... Потом вычисляешь координаты конечной точки вектора а (опять же начало в (0,0)) и подставляешь в функцию прямой. По знаку (положительный или отрицательный) определяешь с какой стороны от прямой точка находится. Исходя из этого делаешь разворот. |
| Автор: digs 23.10.2006, 16:56 |
| Кажись я все усложнил. Там можно попробовать определить угол через свойство: Квадрат любой стороны треугольника равен сумме квадратов двух других сторон без удвоенного произведения этих сторон на косинус угла между ними. если брать строны ориентированно, возможно удастся получить положительный/отрицателльный угол |