Pavlovsky я вас правильно понял?
На всякий случай объясню подробнее. Пусть в нашем алгоритме критической операцией будет добавление к решению из k-1 точек точки

. Естественно необходимо проверить можно ли добавить очередную точку к решению. Это можно сделать двумя способами.
1) Перебрать все тройки точек из решения из k-1 точек и проверить принадлежит ли точка

этой плоскости.
2)Перенесем проверку на шаг итерации раньше. Будем вести список допустимых точек. Которые можно добавлять к текущему решению без всяких проверок. После добавления в решение точки

удалим из списка допустимых точек все точки лежащие в плоскостях образуемых двумя точками из ращения из k-2 точек и точки

.
Очевидно второй вариант заметно быстрее.
-- Вс мар 13, 2016 20:20:46 --it is not easy to figure this out in general for arbitrary three points.
Значит надо искать частные случаи. Например:
В каждой плоскости

может быть не более трех точек
Когда в слои

;

;

добавляется третья точка. Все остальные точки слоя должны быть удалены из списка допустимых точек.
-- Вс мар 13, 2016 20:23:13 --Есть и более изощренные частные случаи, но это пока военная тайна.
