Pull to refresh

Алгоритм Quickhull для нахождения выпуклой оболочки

Reading time 20 min
Views 23K
C++ *Algorithms *Mathematics *Data visualization *
Как гласит определение, выпуклая оболочка некоторого множества — это наименьшее выпуклое множество , содержащее в себе множество . Выпуклой оболочкой конечного множества попарно различных точек является многогранник.
Для реализации одномерного случая алгоритма Quickhull годится функция std::minmax_element. В сети можно найти множество реализаций алгоритма Quickhull для плоского случая. Однако, для случая произвольной размерности сходу находится лишь одна тяжёловесная реализация с сайта qhull.org.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 12

Конь мой Вороной

Reading time 3 min
Views 5.8K
Development for iOS *Game development *

Здорово, гении. Раньше я тоже был гением, а теперь игрушки пишу для iPhone. Последнюю неделю Apple и Google меня сильно взволновали, пытаясь лишить приложений и доходов. Пришлось вспотеть и сделать 7 игр за 7 дней на Swift 3.0. При этом в старый Obj-C код былых игр я не заглядывал — настолько проще делать приложения на новом языке.

Раньше, когда был гением, мне каждый раз приходилось заново писать функцию сортировки (как элемент игры) и затем гордитьсяя этим. Боже, какой я был идиот. Впрочем, не сильно я изменился. Но изменился инструмент. Смотрите, как теперь выглядит сортировка на Swift 3.0.

  let vtxSorted = vtx.sorted(by:{ $0.yPosition > $1.yPosition })

И все! Массив вершин VTX отсортирован по координате Y…
Да зачем это надо? А вот зачем…
Total votes 44: ↑22 and ↓22 0
Comments 40