Дипломная (вкр): Технології побудови тривимірних моделей у ГІС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

По-четверте, топографічні карти позбавлені зображення рельєфу дна внутрішніх водоймів, морських і океанічних акваторій. В більшості випадках формальний вихід з такої ситуації полягає в тому, щоб присвоїти акваторії висотну відмітку ухилу води, умовно вважає її “плоскою”. З різних причин (рівномірність створення окремих номенклатурних листів, похибок топографічних зйомок чи грубих помилок укладача) контур одного і того ж водойму може супроводжуватися різними відмітками ухилів води; в цьому випадку виникає задача приведення дзеркала води до “горизонту”. Як і всякий елемент картографічної графіки, горизонталі мають свої графічні межі: при становленні інструкції товщини лінії горизонталі в 0,2мм і такої ж відстані між ними 1мм карти може складати їх не більше трьох. Для усунення внутрішньоелементних та міжелементних графічних конфліктів інструкціями допускається штучне злиття горизонталей у випадку, коли величина їх заложення не вкладається у становленні графічні пороги, тобто на схилах з крутизною вище деякої межі, а також їх “укладка”, тобто штучно збільшується відстань між сусідніми горизонталями для запобігання їх злиття. Обоє прийомів, допускаються у відношенні зображення рельєфу горизонталями на топографічних картах з точки зору їх оцінки як основи ЦМР, однаково “шкідливі”: формально область злиття горизонталей в їх цифрових записах повинна сприйматися як вертикальна “стінка” (формалізми деяких конкретних типів моделей можуть кваліфікувати таку ситуацію як тополого-геометричну помилку записів), а штучно “роздвинуті” горизонталі спотворювати схили і продовгуваті форми схилів. Обоє типа картографічних артефактів в умовах середньогіря і високогорі здатні ще більш знизити точність ЦМР у порівнянні з її інструктивно визначеними значеннями.

Звідси загальна рекомендація до програмних засобів створення ЦМР: вони повинні підтримувати контроль геометричної коректності цифрових представлень горизонталей, тобто дотримуватися двом вимогам: 1) однойменні та різнойменні горизонталі не повинні пересікатися ( зливатися, доторкатися ); 2) Кожна горизонталь повинна бути замкнутою на собі чи кордону картографічного зображення ( зазвичай рамку карти ).Дотримання першої умови забезпечує відсутність складок (нахлистів) у записі горизонталей і злиття ( дотику ) різнойменних (сусідніх) горизонталей, друге - відсутність у них розривів.

Недоліки топографічних карт у частині зображення рельєфу горизонталі почасти можуть бути компенсовані іншими графічними елементами, що використовуються для відображення елементів і форм рельєфу, не виразних в горизонталях за чисто графічними чи змістовним мотивом. Наприклад, ряд умовних знаків топографічних карт масштабу 1:10000 містять більше 50 лінійних і точкових знаків, частина із яких - висотні відмотки, відмітки зрізів води, знаки ярів з вказуванням їх глибини, обривів, карстових вирв та інших природних утворень, а також ряду штучних форм рельєфу - дійсно здатні суттєво покращити загальну метричну характеристику рельєфу і покращити точність моделі, що створюється шляхом їх урахування в структурних ЦМР. Навпаки, крайнє схематичний малюнок високогірних форм рельєфу, що включає льодовики, сніжники та фірнові поля, знаки скал і скелистих обривів із фрагментами горизонталей, робить неможливим створення кондиційної ЦМР цих ділянок без залучення некартографічного першого джерела, наприклад аерофотознімка [30].

Точність ЦМР. Точність, як одна із важливих характеристик якості моделі, може бути оцінена або її відповідному умовно-істинному “оригіналу”, або релевантністью тим задачам, які будуть розв’язуватися у процесі використовування моделі. Перший із підходів, на основі контролі точності ЦМР по вибірковим оцінкам їх середньоквадратичних похибок і відповідності стандартам якості. Один і другий підхід однаково корисний і у випадку проектування знову створюваної ЦМР, та при оцінки можливостей використовування вже створеної ЦМР. Як і вся модель, ЦМР не може бути оцінена у категоріях істинності, але до неї приложимо поняття працездатності [6, 31, 37].

Серед факторів, обумовлюючих інтегральну підсумкову точність ЦМР, можна назвати характер і точність джерела вихідних даних, технологію аналого-цифрового перетворення даних, якщо використовується джерело аналогового типу (наприклад карта) зі своїми похибками, точність відновлення функції висоти при перетворенні хаотично впорядкованих множин висотних відміток у х регулярний набір (наприклад, точність процедур інтерполяції), тип і параметри моделі даних, що використовуються при створенні ЦМР. Точність ЦМР, як і функція амплітуди, складність, розчленованість та інших інтегральних морфометричних характеристик рельєфу, в кінцевому результаті - їх морфологічних типів, досліджена недостатньо, і це великий недолік всієї методології і індустрії створення і використання ЦМР в цілому [6].

Як правило первинні дані, отримані з використанням тих чи інших операцій, приводять до одного із двох найбільш широко розповсюджених поверхонь у ГІС: растровому і у векторному представленні. Формати файлів ЦМР та способи отримання растрових і векторних даних описані у розділах 3.1 - 3.2 даної роботи.

1.4 
Області застосування цифрових моделей рельєфу

Готова цифрова модель здатна забезпечити рішення самих різноманітних задач завдяки розвитим функціям цифрового моделювання рельєфу, які вбудовані у сучасні універсальні повнофункціоновані інструментальні програмні засоби ГІС.

Зазвичай функціонально обумовлені модулі обробки ЦМР у складі таких програмних продуктів підтримують наступні функції:

·        розрахунок “елементарних” морфометричних показників: кут нахилу ( нахилів ) і експозиції схилів;

·        оцінка форми схилів через кривизну їх поперечного та подовженого перетину;

·        генерація сітки тальвегів і вододілів та інших особливих точок і ліній рельєфу, порушують його “гладкість” підрахунок позитивних і негативних об’ємів відносно заданого горизонтального рівня у межах кордонів ділянки;

·        побудову профілів поперечного перетину рельєфу до направленню прямої чи ломаної лінії;

·        аналітична відмивка рельєфу;

·        трьохмірна візуалізація рельєфу у формі блок-діаграм та інших об’ємних каркасних, півтонові і фото реалістичні зображення, у тому числі віртуально-реалістичних, наприклад шляхом драпіровки поверхні рельєфу цифровими космо- чи аерофотозображеннями;

·        оцінка зон видимості чи невидимості із заданої точки (точок) огляду (аналіз видимості/невидимості);

·        побудова ізоліній за множиною відміток висот( наприклад генералізація горизонталей );

·        інтерполяція значень висот, інші трансформації вихідної моделі;

·        ортотрансформування аеро- та космічних знімків.

2. Принципи побудови тривимірних зображень засобами комп’ютерної графіки

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

Комп’ютерна графіка - технологія, яка із розвитком комп’ютерних методів перетворилася на даний час на самостійний науковий напрямок. Комп’ютерна графіка та її методи широко використовуються у географічних інформаційних системах.

Весь процес відтворення комп’ютерними засобами цифрових моделей місцевості (ЦММ) та цифрових моделей рельєфу (ЦМР) можна звести до побудови окремих точок, ліній (ребер) і поверхонь (граней), а також побудови текстур і заливок для зафарбовування окремих поверхонь і формування тіні. Всі ці операції будуються на алгоритмах растрової графіки, опису яких присвячений даний розділ.

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

При побудові тривимірної сцени виникає проблема видалення невидимих ліній і поверхонь. Це одна з найбільш складні складові візуалізації тривимірних об'єктів. Способи досягнення ефектів прозорості, відбиття тощо, строго говорячи, не входять до завдання видалення невидимих частин тривимірних об'єктів і, проте, деякі з них тісно пов'язані із цією проблемою. Наприклад, побудова тіней. Не дивлячись на це, у комп'ютерній графіці виділяється досить великий розділ, присвячений побудові реалістичних зображень, у якому докладно розглядаються методи створення таких ефектів як дзеркальне відбиття, переломлення променів у різних середовищах, тіні, фактура об'єкта. Так само розглядаються різні джерела світла, їхні спектральні характеристики й форма. Сюди ж ставляться колірні ефекти, згладжування поверхонь і багато чого іншого.

Як видно з вище сказаного комп'ютерна графіка це досить об'ємна дисципліна, тому варто зупинитися лише на тих її аспектах, що стосуються відтворення тривимірних зображень за допомогою комп’ютерних технологій взагалі і геоінформаційних систем зокрема.

Растрова графіка Будь-яке зображення, у тому числі й тривимірне, складається із графічних примітивів. Тому, насамперед, необхідно знати спеціальні методи генерації зображення, креслення прямих і кривих ліній, зафарбування багатокутників, що створює враження суцільних об'єктів. Розглянемо деякі із цих методів.

Алгоритми створення відрізків Оскільки екран дисплея можна розглядати як матрицю дискретних елементів (пикселов), кожний з яких може бути підсвічений, не можна безпосередньо провести відрізок з однієї крапки в іншу. Процес визначення пикселов, щонайкраще апроксимуючих заданий відрізок, називається розкладанням у растр. Для горизонтальних, вертикальним і нахилених під кутом 45º відрізків вибір растрових елементів очевидний. При будь-якій іншій орієнтації вибрати потрібні пікселі, згруповані по-іншому [20, 22].

Існує кілька алгоритмів виконуючу цю задачу. Розглянемо два з них.

Цифровий диференціальний аналізатор

Один з методів розкладання відрізка в растр складається в рішенні диференціального рівняння, що описує цей процес. Для прямої лінії маємо:

 або .

Рішення представляється у вигляді


де x1, y1 і x2, y2 - кінці відрізка, що розкладається. Рівняння (2.1.) являє собою рекурентне співвідношення для послідовних значень y уздовж потрібного відрізка. Цей метод, використовуваний для розкладання в растр відрізків, називається цифровим диференціальним аналізатором (ЦБА). У простому ЦБА або , або  (більше із приростів) вибирається як одиниця растру.

Растрова розгортка суцільних областей

Дотепер мова йшла про відтворення на растровому графічному пристрої відрізків прямих ліній. Однак однієї з унікальних характеристик такого пристрою є можливість подання суцільних областей. Генерацію суцільних областей із простих описів ребер або вершин будемо називати растровою розгорткою суцільних областей, заповненням багатокутників або заповненням контурів. Для цього можна використати кілька методів, які звичайно діляться на дві широкі категорії: растрове розгорнення й текстурне („затравочне”) заповнення.

У методах растрового розгорнення намагаються визначити в порядку

сканування рядків, чи лежить крапка усередині багатокутника або контуру. Ці алгоритми звичайно йду від «верху» багатокутника або контуру до «низу».

У методах „затравочного” заповнення передбачається, що відомо деяку точку усередині замкнутого контуру. В алгоритмах шукають точки, сусідні із першою і розташовані всередині контуру. Якщо сусідня точка розташована не всередині, виходить, що виявлена границя контуру. Якщо ж точка виявилася усередині контуру, то вона стає новою початковою точкою й пошук триває рекурсивно (рис. 2.1).

Рис. 2.1 Системи координат рядків сканування

 

Рис. 2.2 Схема, що ілюструє алгоритм растрової розгортки суцільних областей

Растрова розгортка багатокутників

Застосовується ефективний метод відтворення граней багатокутників - растрове розгорнення багатокутників. Основна ідея методу - скористатися тим фактом, що сусідні пикселі, ймовірно, мають однакові характеристики (крім пікселів граничних ребер). Ця властивість називається просторовою когерентністю [20, 22].

Характеристики пикселов на даному рядку змінюються тільки там, де ребро багатокутника перетинає рядок. Ці перетинання поділяють скануючий рядок на області.

Для простого багатокутника на рис. 2.2 рядок 2 перетинає багатокутник при x = 1 і x = 8.

Одержуємо три області:< 1           поза багатокутником

£ x £ 8        усередині багатокутника> 8          поза багатокутником

Рядок 4 ділиться на п'ять областей:< 1            поза багатокутником

£ x £ 4        усередині багатокутника

< x < б       поза багатокутником

б £ x £ 8     усередині багатокутника> 8          поза багатокутником

Зовсім необов'язково, щоб точки перетинання для рядка 4 відразу визначалися у фіксованому порядку (ліворуч праворуч). Наприклад, якщо багатокутник задається списком вершин P1, P2, P3, P4, а список ребер - послідовними парами вершин P1P2, P2P3, P3P4, P4P5, P5P1, то для рядка 4 будуть знайдені наступні точки перетинання з ребрами багатокутника: 8, 6, 4, 1. Ці точки треба відсортувати в зростаючому порядку по x, тобто одержати 1,4, 6, 8 (рис. 2.2).

При визначенні інтенсивності, кольорів і відтінку пікселів на скануючому рядку розглядаються пари відсортованих крапок перетинань. Для кожного інтервалу, що задає парою перетинань, використається інтенсивність або кольори заповнюваного багатокутника. Для інтервалів між парами перетинань і крайніх (від початку рядка до першої точки перетину й від останньої точки перетинання до кінця рядка) використається фонова інтенсивність або кольори.

Точне визначення тих пикселов, які повинні активуватися, вимагає наступної послідовності дій. Розглянемо простий прямокутник, зображений на мал. 2.3. Прямокутник має координати (1,1), (5,1), (5,4), (1,4). Скануючі рядки з 1 по 4 мають перетинання з ребрами багатокутника при x = 1 і 5. Піксел адресується координатами свого лівого нижнього кута, виходить, для кожного із цих скануючих рядків будуть активовані пікселі з x-координатами 1, 2, 3, 4 і 5. На схемі показаний результат. Помітимо, що площа, що покриває активованими пикселами, дорівнює 20, у той час як дійсна площа прямокутника дорівнює 12 (рис. 2.3).

Модифікація системи координат сканирующей рядка й тесту активації усуває цю проблему, як це показано на рис 2.1 (див. вище). Вважається, що скануючі рядки проходять через центр рядків пікселів, тобто через середину інтервалу. Тест активації модифікується в такий спосіб: перевіряється, чи лежить усередині інтервалу центр піксела, розташованого праворуч від перетинання. Однак пикселі все ще „адресуються” координатами лівого нижнього кута. Як показано на рис. 2.2 - 2.3 результат даного методу коректний [22]. Горизонтальні ребра не можуть перетинати скануючий рядок і, таким чином, ігноруються. Це зовсім не означає, що їх немає на малюнку. Ці ребра формуються верхнім і нижнім рядками пікселів. Додаткові труднощі виникають при перетинанні скануючого рядка й багатокутника точно по вершині, як це показано. При використанні угоди про середину інтервалу між рядками одержуємо, що рядок у = 3.5 перетне багатокутник в 2, 2 і 8, тобто вийде непарна кількість перетинань. Отже, розбивка пікселів на пари дасть невірний результат, тобто піксели (0,3), (1,3) і від (3,3) до (7,3) будуть фоновими, а піксели (2,3), (8,3), (9,3) зафарбовуються в кольори багатокутника. Якщо враховувати тільки одну точку перетинання з вершиною. Тоді для рядка у = 3.5 одержимо правильний результат. Однак результат застосування методу до рядка в = 1.5, що має два перетинання в (5,1), показує, що метод невірний. Для цього рядка саме розбивка на пари дасть вірний результат, тобто пофарбований буде тільки піксел (5,1). Якщо ж ураховувати у вершині тільки одне перетинання, то піксел від (0,1) до (4,1) будуть фоновими, а піксели від (5,1) до (9,1) будуть пофарбовані в кольори багатокутника. Правильний результат можна одержати, з огляду на точку перетинання у вершині два рази, якщо вона є крапкою локального мінімуму або максимуму й з огляду на один раз у противному випадку. Визначити локальний максимум або мінімум багатокутника в розглянутій вершині можна за допомогою перевірки кінцевих крапок двох ребер. Якщо в обох ребер у більше, ніж у вершини, виходить, вершина є крапкою локального мінімуму. Якщо менше, виходить, вершина - крапка локального максимуму. Якщо одна більше, а інша менше, отже, вершина не є ні крапкою локального мінімуму, ні крапкою локального максимуму. На рис. 2.4 точка Р1 - локальний мінімум, Р3 - локальний максимум, а Р2, Р4 - ні те ні інше. Отже, у крапках Р1 і Р3 ураховуються два перетинання зі скануючими рядками, а в Р2 і Р4 - одне, як це показано на схемі (рис. 2.4) [22, 33].

Источник: https://www.bibliofond.ru/detail.aspx?id=786635