Jump to content

Вычислительная геометрия

Послушайте эту статью
(Перенаправлено из Вычислительной геометрии )

Вычислительная геометрия — это раздел информатики, посвященный изучению алгоритмов , которые могут быть сформулированы в терминах геометрии . Некоторые чисто геометрические проблемы возникают в результате изучения вычислительных геометрических алгоритмов, и такие проблемы также считаются частью вычислительной геометрии. Хотя современная вычислительная геометрия возникла недавно, это одна из старейших областей вычислений, история которой уходит корнями в древность.

Сложность вычислений занимает центральное место в вычислительной геометрии и имеет большое практическое значение, если алгоритмы используются с очень большими наборами данных, содержащими десятки или сотни миллионов точек. Для таких наборов разница между O( n 2 ) и O( n log n ) могут быть разницей между днями и секундами вычислений.

Основным толчком к развитию вычислительной геометрии как дисциплины стал прогресс в области компьютерной графики и систем автоматизированного проектирования и производства ( CAD / CAM ), однако многие задачи вычислительной геометрии носят классический характер и могут возникнуть в результате математической визуализации .

Другие важные применения вычислительной геометрии включают робототехнику ( планирования движения проблемы и видимости), географические информационные системы (ГИС) (геометрическое местоположение и поиск, планирование маршрута), проектирование интегральных схем (проектирование и проверка геометрии ИС), автоматизированное проектирование (CAE). (генерация сетки) и компьютерное зрение ( 3D-реконструкция ).

Основными разделами вычислительной геометрии являются:

  • Комбинаторная вычислительная геометрия , также называемая алгоритмической геометрией , рассматривает геометрические объекты как дискретные сущности. В основополагающей книге Препараты и Шамоса по этой теме первое использование термина «вычислительная геометрия» в этом смысле датируется 1975 годом. [ 1 ]
  • Численная вычислительная геометрия , также называемая машинной геометрией , компьютерным геометрическим проектированием (CAGD) или геометрическим моделированием , которая занимается в первую очередь представлением объектов реального мира в формах, подходящих для компьютерных вычислений в системах CAD/CAM. Эту ветвь можно рассматривать как дальнейшее развитие начертательной геометрии и часто считают ветвью компьютерной графики или САПР. Термин «вычислительная геометрия» в этом значении используется с 1971 года. [ 2 ]

Хотя большинство алгоритмов вычислительной геометрии были разработаны (и разрабатываются) для электронных компьютеров, некоторые алгоритмы были разработаны для нетрадиционных компьютеров (например, оптических компьютеров). [ 3 ] )

Комбинаторная вычислительная геометрия

[ редактировать ]

Основной целью исследований в области комбинаторной вычислительной геометрии является разработка эффективных алгоритмов и структур данных для решения задач, сформулированных в терминах основных геометрических объектов: точек, отрезков прямых, многоугольников , многогранников и т. д.

Некоторые из этих проблем кажутся настолько простыми, что их вообще не считали проблемами до появления компьютеров . Рассмотрим, например, задачу о ближайшей паре :

  • По заданным n точкам на плоскости найти две точки, находящиеся на наименьшем расстоянии друг от друга.

Можно вычислить расстояния между всеми парами точек, которых имеется n(n-1)/2 , а затем выбрать пару с наименьшим расстоянием. Этот алгоритм грубой силы требует O ( n 2 ) время; т.е. время его выполнения пропорционально квадрату количества точек. Классическим результатом в вычислительной геометрии была формулировка алгоритма, который принимает O( n log n ). Рандомизированные алгоритмы , требующие ожидаемого времени O( n ), [ 4 ] а также детерминированный алгоритм, который занимает время O( n log log n ), [ 5 ] также были обнаружены.

Проблемные классы

[ редактировать ]

Основные проблемы вычислительной геометрии можно классифицировать по-разному в соответствии с различными критериями. Можно выделить следующие общие классы.

Статическая проблема

[ редактировать ]

В задачах этой категории задаются некие входные данные, и необходимо построить или найти соответствующие выходные данные. Некоторые фундаментальные проблемы этого типа:

Вычислительная сложность для этого класса задач оценивается временем и пространством (памятью компьютера), необходимыми для решения данного экземпляра задачи.

Проблемы с геометрическими запросами

[ редактировать ]

В задачах геометрического запроса , широко известных как задачи геометрического поиска , входные данные состоят из двух частей: части пространства поиска и части запроса , которая варьируется в зависимости от экземпляра задачи. Пространство поиска обычно необходимо предварительно обработать , чтобы можно было эффективно ответить на несколько запросов.

Некоторые фундаментальные проблемы геометрических запросов:

  • Поиск по диапазону . Предварительная обработка набора точек для эффективного подсчета количества точек внутри области запроса.
  • Проблема с расположением точки . Учитывая разделение пространства на ячейки, создайте структуру данных, которая эффективно сообщает, в какой ячейке находится точка запроса.
  • Ближайший сосед : Предварительная обработка набора точек, чтобы эффективно найти точку, ближайшую к точке запроса.
  • Трассировка лучей . Учитывая набор объектов в пространстве, создайте структуру данных, которая эффективно сообщает, какой объект первым пересекает луч запроса.

Если пространство поиска фиксировано, вычислительная сложность для этого класса задач обычно оценивается как:

  • время и пространство, необходимые для создания структуры данных, в которой будет осуществляться поиск.
  • время (а иногда и дополнительное место) для ответов на вопросы.

О случае, когда пространство поиска может меняться, см. « Динамические задачи ».

Динамические проблемы

[ редактировать ]

Еще одним крупным классом являются динамические задачи , цель которых — найти эффективный алгоритм многократного поиска решения после каждого постепенного изменения входных данных (добавления или удаления входных геометрических элементов). Алгоритмы решения задач этого типа обычно включают динамические структуры данных . Любую вычислительную геометрическую задачу можно преобразовать в динамическую за счет увеличения времени обработки. Например, задача поиска диапазона может быть преобразована в задачу поиска динамического диапазона путем обеспечения добавления и/или удаления точек. Проблема динамической выпуклой оболочки состоит в том, чтобы отслеживать выпуклую оболочку, например, для динамически изменяющегося набора точек, т. е. во время вставки или удаления входных точек.

Вычислительная сложность для этого класса задач оценивается по формуле:

  • время и пространство, необходимые для создания структуры данных, в которой будет осуществляться поиск.
  • время и пространство для изменения искомой структуры данных после постепенного изменения в пространстве поиска
  • время (а иногда и дополнительное пространство) для ответа на запрос.

Вариации

[ редактировать ]

Некоторые проблемы можно отнести к любой из категорий, в зависимости от контекста. Например, рассмотрим следующую проблему.

Во многих приложениях эта задача рассматривается как однократная, т.е. относящаяся к первому классу. Например, во многих приложениях компьютерной графики распространенной проблемой является определение того, на какую область экрана нажимает указатель . Однако в некоторых приложениях рассматриваемый многоугольник является инвариантным, а точка представляет собой запрос. Например, входной многоугольник может представлять собой границу страны, а точка — это положение самолета, и задача состоит в том, чтобы определить, нарушил ли самолет границу. Наконец, в ранее упомянутом примере компьютерной графики в приложениях САПР изменяющиеся входные данные часто сохраняются в динамических структурах данных, которые можно использовать для ускорения запросов «точка в полигоне».

В некоторых контекстах задач запросов существуют разумные ожидания относительно последовательности запросов, которые можно использовать либо для эффективных структур данных, либо для более точных оценок сложности вычислений. Например, в некоторых случаях важно знать наихудший случай общего времени для всей последовательности из N запросов, а не для одного запроса. См. также « амортизированный анализ ».

Численная вычислительная геометрия

[ редактировать ]

Эта отрасль также известна как геометрическое моделирование и компьютерное геометрическое проектирование (CAGD).

Основными проблемами являются моделирование и представление кривых и поверхностей.

Наиболее важными инструментами здесь являются параметрические кривые и параметрические поверхности , такие как кривые Безье , сплайновые кривые и поверхности. Важным непараметрическим подходом является метод набора уровней .

Области применения вычислительной геометрии включают судостроение, авиационную и автомобильную промышленность.

Список алгоритмов

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Франко П. Препарата и Майкл Ян Шамос (1985). Вычислительная геометрия. Введение . Спрингер-Верлаг . ISBN  0-387-96131-3 . 1-е издание; 2-е издание, исправленное и дополненное, 1988 г.
  2. ^ А. Р. Форрест, «Вычислительная геометрия», Proc. Королевское общество Лондона , 321, серия 4, 187–195 (1971)
  3. ^ Евгений Борисович Карасик (2019). Оптическая вычислительная геометрия . ISBN  979-8511243344 .
  4. ^ С. Хуллер и Ю. Матиас. Простой алгоритм рандомизированного сита для решения задачи поиска ближайшей пары . Инф. Comput., 118(1):34—37,1995 ( PDF )
  5. ^ С. Форчун и Дж. Э. Хопкрофт. «Заметка об алгоритме ближайшего соседа Рабина». Письма об обработке информации, 8 (1), стр. 20–23, 1979 г.

Дальнейшее чтение

[ редактировать ]

Комбинаторная/алгоритмическая вычислительная геометрия

[ редактировать ]

Ниже приведен список основных журналов, в которых публикуются исследования в области геометрических алгоритмов. Обратите внимание, что с появлением журналов, специально посвященных вычислительной геометрии, доля геометрических публикаций в журналах общего назначения по информатике и компьютерной графике снизилась.

[ редактировать ]
Послушайте эту статью ( 9 минут )
Duration: 9 minutes and 14 seconds.
Разговорная иконка Википедии
Этот аудиофайл был создан на основе редакции этой статьи от 17 сентября 2013 г. ( 17 сентября 2013 г. ) и не отражает последующие изменения.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 16b5dc65b07787f6e1d6a643a604f65a__1712452380
URL1:https://arc.ask3.ru/arc/aa/16/5a/16b5dc65b07787f6e1d6a643a604f65a.html
Заголовок, (Title) документа по адресу, URL1:
Computational geometry - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)