Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка і реалізація програмного інструменту для оцифровки двовимірного графіка функції

Реферат Розробка і реалізація програмного інструменту для оцифровки двовимірного графіка функції





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


.3 Допоміжний алгоритм


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

) Попередня обробка зображення (порогова фільтрація + утоньшение ліній по необхідності).

) Визначення осей.

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

а) Привласнюємо радіусу радіус-квадрата=1.

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

) Якщо кількість груп менше 2-х збільшуємо радіус на 1, повторюємо алгоритм. Така умова пов'язана з тим, що осі можуть бути неповними (див. рис. 6).


Малюнок 6. Можливі конфігурації координатних осей.


) Якщо кількість груп більше або дорівнює 2-м, то для кожної групи зіставляється найбільш підходящий вектор з 4-х напрямних, відповідних моделі вхідних даних за принципом найменшого кута між (p; x) і K, де K-один з 4-х векторів, x - будь-яка точка з групи. Причому двом групам не може відповідати один вектор. Зафарбовуємо точки білим в радіус-квадраті радіусом r - 1 для малюнка. Потім для кожної групи і відповідному їй вектору застосовується наступний крок:

б) Маємо початковий вектор (v)

Обчислимо ширину (w) і радіус (r) як (w div 2) +1. Потім виберемо середню у порядковому значенні точку (p) з групи. Введемо змінну erase, яка буде дозволяти або забороняти прати точки.

Привласнимо erase=true;

Формуємо групи тим же способом що і в попередньому пункте.Еслі груп більше ніж 1, то призначимо erase=false, т.к можливі потенційні перетину.

Виберемо групу по точці, яка найменш відхиляється від v, але не більше ніж на деяку величину, наприклад 90 градусів. Якщо такої групи немає, то закінчуємо алгоритм. (Таке обмеження забороняє відхилення осі від началного кута на 90 градусів. Можна ввести більш суворе обмеження, але при, якщо точність початкових даних висока, то цього достатньо). Тут можливі варіанти:

) Якщо ширина групи не перевершує w, то виберемо середню в ній крапку. Якщо erase=true, то зафарбовуємо точки в радіус-квадраті радіусом r - 1. Привласнюємо p значення цієї точки і оновлюємо значення радіуса r=(w div 2) +1. Повторюємо алгоритм, відновивши erase=true, якщо потрібно.

) Якщо ширина групи перевершує w, то збільшуємо r на 1 присвоїмо erase=false і повторюємо алгоритм. Це робиться через ризик втратити потовщення, обумовлене пересекающимся графіком.

в) У підсумку отримуємо зображення з частково стертими осями.

Таке перетворення може прискорити подальшу роботу...


Назад | сторінка 9 з 21 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?
  • Реферат на тему: Як враховувати рух грошей, якщо компанія розраховується через електронний г ...
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо ви викликаєте швидку допомогу