You are on page 1of 6

Галузь комп'ютерних наук присвячена вивченню алгоритмів що

опісуюються в термінах геометрії.


Основним стимулом розвитку обчислювальної геометрії як дисципліни
був прогрес в комп'ютерній графіці і системах автоматизованого
проектування і автоматизованих систем технологічної підготовки
виробництва, проте багато завдань обчислювальної геометрії є класичним за
своєю природою, і можуть з'являтися при математичної візуалізації.
Іншим важливим застосуванням обчислювальної геометрії є
робототехніка (планування руху і завдання розпізнавання образів),
геоінформаційні системи (геометричний пошук, планування маршруту),
дизайн мікросхем, програмування верстатів з числовим програмним
управлінням.
Основними розділами обчислювальної геометрії є:
 Комбінаторна обчислювальна геометрія, Або також названа
алгоритмічна геометрія, Яка розглядає геометричні об'єкти як дискретні
сутності. Основною книгою по цій темі є книга Препарати і Шеймоса, в якій
вперше в 1975 був використаний термін "обчислювальна геометрія".
 Чисельне обчислювальна геометрія, Також названа машинна
геометрія або геометричне моделювання, Яка має справу в основному з
поданням об'єктів реального світу в формі придатній для подальшої
комп'ютерної обробки. Цей розділ можна розглядати як подальший розвиток
нарисної геометрії і часто розглядається як розділ комп'ютерної графіки.
Термін "обчислювальна геометрія" в такому сенсі вживався з 1971.
Комбінаторна обчислювальна геометрія
Основною метою досліджень в комбінаторної обчислювальної геометрії
є розробка ефективних алгоритмів і структур даних для вирішення завдань які
задані в термінах базових геометричних об'єктів: точок, відрізків,
багатокутників, багатогранників, і інших.
Деякі з цих завдань виглядають такими простими, що вони взагалі не
розглядалися як завдання до моменту винаходу комп'ютерів. Розглянемо
наприклад завдання пошуку найближчої пари точок:
 маючи nточок на площині, знайти дві відстань між якими
найменша
Можна обчислити відстані між кожною парою точок, (їх n (n-1) / 2),
Потім вибрати пару з найменшою відстанню. Такий повний перебір має
складність O (n 2) є час його виконання пропорційно квадрату числа точок.
Класичним результатом в обчислювальної геометрії був алгоритм зі
складністю O (N Log N). Також відкриті рандомізовані алгоритми, що
працюють за O (n) Кроків, і детерміновані алгоритми працюють за O (N Log
Log N).
Обчислювальна геометрія головним чином зосереджується на
обчислювальної складності, так як алгоритми призначені для роботи над дуже
великими наборами даних, з десятків або сотень мільйонів точок. Для
великих наборів даних різниця між O (n 2) і O (NLogN) Може бути такий же,
як різниця між днями і секундами.
Класи задач
Основні завдання обчислювальної геометрії можна класифікувати
різними способами, і з різними критеріями. Розрізняють такі класи:
Статичні завдання
У завдання цієї категорії на вхід подаються певні дані, і за ними
алгоритм повинен обчислити відповідні результати. Прикладами
фундаментальних завдань такого роду є:
 Опукла оболонка: Маючи набір точок, знайти найменший
опуклий багатокутник містить всі точки.
 Перетин відрізків: знайти всі перетину в наборі відрізків.
 Триангуляція Делоне
 Діаграма Вороного: Маючи набір точок, розділити простір на
сектори, кожна точка з яких ближче до своєї з набору, ніж до інших.

2
 лінійне програмування
 Завдання найближчій пари точок: Маючи набір точок знайти дві
відстань між якими найменша.
 Евклидово найкоротший шлях: Поєднати дві точки евклидова
простору (з полігональними перешкодами) найкоротшим чином.
 Триангуляція багатокутника: Маючи багатокутник, розбити його
нутро на трикутники
 Генерація Меша англ. Mesh generation
Обчислювальна складність для цього типу задач оцінюється за часом і
простору (розміру пам'яті), які необхідні для вирішення конкретного
завдання.
Завдання геометричного пошуку (запиту)
У завданнях геометричного пошуку вхідні дані складаються з двох
частин: простір пошуку і запиту, які розрізняються в різних видах завдань.
Зазвичай простір пошуку вимагає попередньої обробки, для забезпечення
ефективного виконання декількох запитів.
Приклади завдань геометричного пошуку:
 Регіональний пошук (en: Range searching): Обробити набір точок,
з метою ефективного пошуку набору точок міститься в запрошенням регіоні.
 Локалізація точки (en: Point location): Маючи розбиття простору
на регіони, створити структуру даних що дозволить ефективно визначити в
якому регіоні знаходиться дана точка.
 Пошук найближчого сусіда: Обробити набір точок доступу до
всіх можливостей ефективно знайти якісь точки ближче до запитаної.
 Трасування променів: Маючи набір об'єктів в просторі, створити
структуру даних, яка дозволить ефективно визначати які об'єкти персікае
затребуваний промінь.
Якщо простір пошуку фіксований, обчислювальна складність завдань
зазвичай визначається

3
 час і місце необхідними для попередньої обробки (побудови
ефективної структури даних)
 час (можливо рідко місця) потрібними для отримання відповіді на
кожен запит.
У випадках коли простір пошуку може варіюватися дивіться розділ
"Динамічні задачі".
Динамічні задачі
Динамічні задачі - це тип завдань вхідні дані в які поступово
змінюються (наприклад додаються або видаляються об'єкти). Алгоритми
рішення таких задач включають в себе підтримку динамічних структур даних.
Будь-яке завдання обчислювальної геометрії можна вирішувати динамічно,
але за рахунок додаткових обчислювальних ресурсів. Регіональний пошук або
побудова опуколоі оболонки можна проводити над безліччю точок, які
змінюються.
Обчислювальна складність для цього класу задач задається такими
параметрами:
 ресурсами необхідними для побудови структури даних для
пошуку
 ресурсами необхідними для модифікації побудованої структури
 і ресурсами необхідними для відповіді на запити
Деякі завдання можуть розглядатися як належні декількох категоріях
залежно від контексту.
Наприклад, розглянемо наступні завдання:
Належність точки багатокутнику: Визначити точка знаходиться зовні або
всередині даного багатокутника.
Варіації У багатьох програмах ця задача розглядається як завдання
першого класу. Тим не менш, у багатьох випадках потрібно визначити курсор
миші лежить всередині даного багатокутника. Курсор постійно
переміщається, а багатокутник не змінюється. Аналогічно можна перевіряти
певний літальний апарат який показаний на екрані радара не перетнув кордон

4
країни. Такі завдання можна вважати завданнями геометричного запиту. А в
CAD-системах сам многокунтік може варіюватися, тому завдання може
вважатися динамічною.

5
Використані джерела

1. Обчислювальна геометрія, http://ni.biz.ua.

2.

Онтологія домену – Обчислювальна геометрія – Студопедія,


https://studopedia.com.ua

You might also like