Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 01.10.2011, 03:01
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Добрый деньЕсть массив векторов (x, y, z). напр QPoint3D. Длина каждого вектора = 1. Необходимо разбить этот массив на подмассивы (группы) так чтобы угол между любыми 2-мя векторами в каждой группе не превышал заданный. Например группы могут выглядеть так{ 0, 1, 10, 15 ... } // первая группв (индексы элементов в исходном массиве){ 2, 5. 9, 24... } // вторая группв и.т.дЭлемент может принадлежать только 1 группе. Группа может содержать от 1 до N индексов (где N - размер исходного массива). Угол между 2-мя векторами единичной длины считается такКодC++ (Qt)inline float Angle( const Point3D & p0. const Point3D & p1 ){return acos(p0.x * p1.x + p0.y * p1.y + p0.z * p1.z);} Как разбить на минимальное число групп?Спасибо
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Вычисление ключа... Guest Продолжение старого архива 0 17.10.2011 03:44
Вычисление даты Guest Продолжение старого архива 0 01.10.2011 02:30
вычисление интеграла Guest Продолжение старого архива 0 30.09.2011 16:16



© www.otvetnemail.ru - Форум вопросов и ответов.