Участник:Shersh/Тикеты к вычислительной геометрии (термы 4 и 5) — различия между версиями
Shersh (обсуждение | вклад) |
Shersh (обсуждение | вклад) |
||
Строка 29: | Строка 29: | ||
## Примеры полных скриптов | ## Примеры полных скриптов | ||
#:* Добавить категории | #:* Добавить категории | ||
+ | #:* Добавить ссылок | ||
# [[Тестирование с использованием Google Test]] (''5'') | # [[Тестирование с использованием Google Test]] (''5'') | ||
## Ссылка на код битая, добавить пример кода с github | ## Ссылка на код битая, добавить пример кода с github | ||
Строка 53: | Строка 54: | ||
#:* Добавить категории | #:* Добавить категории | ||
#:* Добавить источники информации | #:* Добавить источники информации | ||
− | # [[Пересечение отрезков и поворот: определение, свойства, вычисление]] | + | # [[Пересечение отрезков и поворот: определение, свойства, вычисление]] (''15'') |
− | # [[Пересечение отрезков на сфере]] | + | ## Подробное и ясное объяснение шагов с картинками (взять часть информации из предиката поворота), вот [http://martin-thoma.com/how-to-check-if-two-line-segments-intersect/ здесь] детальный разбор этой задачи |
− | # [[Пересечение окружностей]] | + | ## Про аффинное пространство будет отдельный конспект (если кто-нибудь напишет), поэтому только небольшую справку в начале надо сделать |
− | # [[Принадлежность точки выпуклому и невыпуклому многоугольникам]] | + | ## Рассказать про нахождение самой точки пересечения двух отрезков, и какие проблемы с этим связаны |
− | # [[ Статические выпуклые оболочки: Джарвис, Грэхем, Эндрю, Чен, QuickHull]] | + | #:* Переменные и константы в Tex |
+ | #:* Интервики | ||
+ | #:* Оформить правильно источники информации | ||
+ | #:* Отформатировать псевдокод, оформить как функцию, принимающих два отрезка, код смотреть в cg | ||
+ | #:* Добавить категории | ||
+ | # [[Пересечение отрезков на сфере]] (''10'') | ||
+ | ## Доделать конспект: описать всё формально, подробно и понятно | ||
+ | #:* Задачу в Шаблон | ||
+ | #:* Алгоритм красиво оформить | ||
+ | #:* Источники информации | ||
+ | #:* Категории | ||
+ | # [[Пересечение окружностей]] (10) | ||
+ | ## Добавить расчёт погрешностей (см. список тем) | ||
+ | ## Переходы бы подробней описать | ||
+ | #:* Увеличить дроби | ||
+ | #:* Добавить категории | ||
+ | # [[Принадлежность точки выпуклому и невыпуклому многоугольникам]] (''5'') | ||
+ | ## Картинка в случае выпуклого многоугольника | ||
+ | ## Более подробное объяснение корректности алгоритма в случае невыпуклого полигона | ||
+ | ## Пару слов про то, работает ли в полигонах с дырками | ||
+ | #:* Убрать плашку вверху | ||
+ | #:* Оформить правильно источники информации | ||
+ | #:* Добавить категории | ||
+ | #:* min и max заменить на \min и \max | ||
+ | # [[Статические выпуклые оболочки: Джарвис, Грэхем, Эндрю, Чен, QuickHull]] (''10'') | ||
+ | ## См. обсуждения | ||
+ | ## В некоторых местах не очень понятно, почему это правда - пояснить корректность алгоритма | ||
+ | ## Про Чена очень мало, смотреть википедию русскую | ||
+ | #:* Определение жирным | ||
+ | #:* Дефисы на тире | ||
+ | #:* Все ссылки в конец, оформить правильно Источники информации | ||
+ | #:* Добавить в ссылки примеры кодов (из cg, ещё можно где-нибудь нагуглить) | ||
+ | #:* Опустить заголовки на 1, сделать конспект более структурированным | ||
+ | #:* Отформатировать псевдокоды | ||
=== Продвинутые алгоритмы === | === Продвинутые алгоритмы === | ||
# [[Динамическая выпуклая оболочка (достаточно log^2 на добавление/удаление) | Динамическая выпуклая оболочка (log^2 на добавление/удаление)]] | # [[Динамическая выпуклая оболочка (достаточно log^2 на добавление/удаление) | Динамическая выпуклая оболочка (log^2 на добавление/удаление)]] | ||
Строка 79: | Строка 113: | ||
# [[ Алгоритм Киркпатрика детализации триангуляции | Локализация в ППЛГ. Алгоритм Киркпатрика ]] | # [[ Алгоритм Киркпатрика детализации триангуляции | Локализация в ППЛГ. Алгоритм Киркпатрика ]] | ||
# [[ Трапецоидная карта | Трапецоидная карта ]] | # [[ Трапецоидная карта | Трапецоидная карта ]] | ||
− | |||
# [[BSP-дерево]] | # [[BSP-дерево]] | ||
== Скалярное произведение и мера (проверяется) == | == Скалярное произведение и мера (проверяется) == |
Версия 18:39, 18 февраля 2015
Нумерованные замечания — по содержанию, маркированные — по оформлению
Содержание
Модель вычислений
Арифметика
- Представление чисел с плавающей точкой (5)
- Помёрджить с аналогичным конспектом по дискретке
- Добавить код получения машинного эпсилон в c++
- Оформить правильно источники информации
- Поправить категории
- Дефисы заменить на тире
- Заменить знаки неравенств
- Интервальная арифметика (10)
- Какой-нибудь пример с кодом на c++ (желательно предикат левый поворот) и с объяснением происходящего
- И написать, что делать, если в интервальной арифметике посчиталось неточно (добавить просто пример с mpq_class)
- Пару мотивационных слов о том, как надо делать вычисления (про скатывание в рациональную), о скорости и т. д.
- Англоязычные термины
- В формулы можно добавить пробелы для лучшей читаемости
- Оформить правильно Источники информации
- Добавить категории
- Adaptive precision arithmetic
Технические подробности
- Запуск проекта визуализации cg (10)
- Небольшой туториал, как начать работу с библиотекой визуализации, что поставить и как запустить
- Неплохо бы ещё скриншоты добавить (чтобы совсем всем всё было понятно)
- Туториал по cmake (15)
- Сделать конспект более формальным
- Как установить, что вообще надо (ссылки добавить)
- Простые и последовательные примеры: сборка простого файла, нескольких файлов, как подключить буст, gmp, gtest
- Объяснение происходящего в библиотеке визуализации cg
- Примеры полных скриптов
- Добавить категории
- Добавить ссылок
- Тестирование с использованием Google Test (5)
- Ссылка на код битая, добавить пример кода с github
- Задачу в Шаблон
- Добавить категории
- Интервики
- Имя функции в \mathrm
Базовые алгоритмы и структуры данных
- Квадродерево, сжатое квадродерево
- Skip quadtree: определение, время работы, запрос точек в прямоугольнике
- К-d деревья и перечисление точек в произвольном прямоугольнике (статика)
- Перечисление точек в произвольном прямоугольнике за n * log ^(d - 1) n (range tree)
- Дерево интервалов (interval tree) и пересечение точки с множеством интервалов
- Пересечение прямоугольника с множеством прямоугольников (priority search tree)
- Пересечение прямоугольника с множеством непересекающихся отрезков (segment tree)
Аффинное пространство
Простые геометрические операции и алгоритмы
- Предикат "левый поворот" (10)
- Перенести расчёт погрешности из конспекта про вещественные числа сюда
- Сказать, почему в расчёте не используется деление, и что обычно с этим делают
- Статью написать именно про предикат поворота, про его сакральный смысл, а не про пересечение отрезков; можно добавить различных применений
- Добавить пример, простое правило для запоминания направления
- Неплохо бы векторные картинки сделать вместо таких растровых
- Добавить категории
- Добавить источники информации
- Пересечение отрезков и поворот: определение, свойства, вычисление (15)
- Подробное и ясное объяснение шагов с картинками (взять часть информации из предиката поворота), вот здесь детальный разбор этой задачи
- Про аффинное пространство будет отдельный конспект (если кто-нибудь напишет), поэтому только небольшую справку в начале надо сделать
- Рассказать про нахождение самой точки пересечения двух отрезков, и какие проблемы с этим связаны
- Переменные и константы в Tex
- Интервики
- Оформить правильно источники информации
- Отформатировать псевдокод, оформить как функцию, принимающих два отрезка, код смотреть в cg
- Добавить категории
- Пересечение отрезков на сфере (10)
- Доделать конспект: описать всё формально, подробно и понятно
- Задачу в Шаблон
- Алгоритм красиво оформить
- Источники информации
- Категории
- Пересечение окружностей (10)
- Добавить расчёт погрешностей (см. список тем)
- Переходы бы подробней описать
- Увеличить дроби
- Добавить категории
- Принадлежность точки выпуклому и невыпуклому многоугольникам (5)
- Картинка в случае выпуклого многоугольника
- Более подробное объяснение корректности алгоритма в случае невыпуклого полигона
- Пару слов про то, работает ли в полигонах с дырками
- Убрать плашку вверху
- Оформить правильно источники информации
- Добавить категории
- min и max заменить на \min и \max
- Статические выпуклые оболочки: Джарвис, Грэхем, Эндрю, Чен, QuickHull (10)
- См. обсуждения
- В некоторых местах не очень понятно, почему это правда - пояснить корректность алгоритма
- Про Чена очень мало, смотреть википедию русскую
- Определение жирным
- Дефисы на тире
- Все ссылки в конец, оформить правильно Источники информации
- Добавить в ссылки примеры кодов (из cg, ещё можно где-нибудь нагуглить)
- Опустить заголовки на 1, сделать конспект более структурированным
- Отформатировать псевдокоды
Продвинутые алгоритмы
- Динамическая выпуклая оболочка (log^2 на добавление/удаление)
- Выпуклая оболочка в n-мерном пространстве
- Алгоритм Бентли-Оттмана
- Алгоритм Балабана
- Трапецоидная карта
- Алгоритм Киркпатрика детализации триангуляции
- Упрощение полигональной цепи
- Ортогональный поиск
- Триангуляция полигонов (ушная + монотонная)
- Триангуляция многоугольника за n^2
- Триангуляция многоугольника заметающей прямой
- Пересечение полуплоскостей, связь с выпуклыми оболочками
- Пересечение множества отрезков
- Snap rounding
- Конфигурация
- ППЛГ и РСДС (PSLG и DCEL): определение, построение РСДС множества прямых
- Пересечение многоугольников (PSLG overlaying)
- Локализация в ППЛГ методом полос (персистентные деревья)
- Локализация в ППЛГ. Алгоритм Киркпатрика
- Трапецоидная карта
- BSP-дерево