У меня есть набор трехмерных точек, каждая из которых связана с направлением (например, единичный вектор). Учитывая другую точку + направление, я хотел бы определить ближайшую точку в наборе (используя стандартную 2-норму), которая также удовлетворяет определенному условию для векторов направления (например, угол между двумя векторами направления находится в пределах определенной угловой величины). Пока у меня есть поиск диапазона на основе KD-дерева по трехмерным точкам, а затем я проверяю, соответствует ли какая-либо из таких точек угловым ограничениям, но понимаю, что это очень неоптимизированный прием. Интересно, есть ли лучший способ сделать это.
Спасибо заранее.