• Nie Znaleziono Wyników

Projektowanie z uŜyciem diagramów K-GK

W dokumencie Index of /rozprawy2/10294 (Stron 86-90)

5 Metodyka rozwiązania

5.6 Techniczne aspekty projektowania systemów opartych model K-GK

5.6.4 Projektowanie z uŜyciem diagramów K-GK

W celu ułatwienia planowania procesów przetwarzania kształtów graficznych prowadzonych gramatyką K-GK opracowany został specjalny system diagramowania. Proponowane w rozwiązaniu diagramy prezentują informacje o zaleŜnościach pomiędzy operacjami uruchomienia poszczególnych reguł substytucji w procesie przetwarzania kształtów. Nie prezentują one bezpośrednio poszczególnych iteracji procesu. UmoŜliwiają natomiast określanie poszczególnych ścieŜek, którymi toczą się procesy generowania poszczególnych komponentów końcowego diagramu kształtów wykonywanych równolegle podczas trwania tych samych iteracji. Jednocześnie – kaŜda ze ścieŜek moŜe trwać dowolną ilość iteracji, dostarczając kształt wymagany przy generowaniu kolejnego komponentu. Na diagramie moŜliwe jest definiowanie linii synchronizacji pomiędzy ścieŜkami, prezentujących wspomniane zaleŜności. Dla zwiększenia przejrzystości wprowadzono symbolikę umoŜliwiającą wyraŜenie procesu wielokrotnego uruchomienia tej samej reguły substytucji lub sekwencji takich samych reguł substytucji. Będzie to miało istotne znaczenie w sytuacjach, gdy o kolejnym uruchomieniu reguły decyduje wynik zwracany przez funkcję walidatowra (czyli gdy uruchomienie jest uzaleŜnione od geometrycznego rozlokowania kształtów graficznych na diagramie kształtów). W poszczególnych kolumnach diagramu prezentowane są operacje, które kolejno muszą być wykonane, aby wygenerowany został określony komponent diagramu kształtów. Diagram obrazuje przebieg procesu przetwarzania gramatyką K-GK prowadzonego na konkretnym diagramie kształtów. Jego zawartość zmieni się po wymianie początkowego diagramu kształtów w gramatyce. Określa on zatem całą gramatykę K-GK, a nie jedynie z jej zbiór reguł substytucji. W związku z powyŜszym diagram ten nazwano diagramem K-GK.

Modelowanie przy uŜyciu diagramu K-GK ułatwi projektowanie gramatyk przetwarzających równolegle wiele komponentów diagramu kształtów. W konsekwencji pomoŜe zredukować ilość iteracji, konieczną do zrealizowania postawionego zadania. Przejrzysta forma prezentacji równolegle realizowanych transformacji ułatwi takŜe określanie właściwej kolejności reguł substytucji na liście na liście R gramatyki K-GK.

Diagram K-GK moŜe zawierać następujące elementy:

• cztery symbole oznaczające aktywację reguły substytucji określonego typu. Są to symbole aktywacji reguły: redukcji (-=>), powielania (+=>), konwersji (:=>) i

Metodyka rozwiązania

87

połączenia (*=>). Symbole określają takŜe numery reguł na liście R reguł substytucji K-GK:

• symbol związku uzaleŜniającego uruchomienie reguł substytucji:

• symbol procesu wielokrotnego aktywowania sekwencji reguł substytucji (tu przedstawiony na przykładzie tylko dwóch reguł):

• symbol procesu generalizacji kształtów prowadzonego pomiędzy iteracjami (uŜycie symbolu wymaga zakończenia wszystkich ścieŜek przetwarzania):

Na rysunku 5.16 znajduje się przykład diagramu K-GK prezentujący związki między operacjami aktywowania reguł substytucji oraz cykliczne uruchamianie sekwencji tych samych reguł (5+4 i 6+8+9).

Rysunek 5.16: Przykładowy diagram K-GK (źródło własne).

Diagramy K-GK otrzymują swój kształt dopiero po zbudowaniu pełnej gramatyki K-GK, czyli po ustaleniu treści początkowego diagramu kształtów. UmoŜliwiają określenie procesów przebiegających w ramach przetwarzania diagramu początkowego gramatyką K-GK. Procesy te na diagramie składają się z serii kolejno uruchamianych reguł substytucji. Wydzielona sekcja

1 - + 2 : 3 * 4 1 : 2 + 1 + 2 + 3 : 5 + 4 - 7 : 6 * 8 + 9 -

Metodyka rozwiązania

88

pozioma (wiersz) diagramu nie powinna być interpretowana jako iteracja, lecz jako seria niezaleŜnych od siebie operacji – moŜliwych do wykonania na diagramie bez wzajemnego oczekiwania na wyniki. Wydzielona kolumna diagramu to operacje od siebie uzaleŜnione. Kolumny mogą być łączone i rozdzielane – skutkując wprowadzeniem uzaleŜnienia operacji zgodnie z przebiegiem linii łączących.

5.7 MoŜliwości prowadzenia badań w dziedzinie automatycznego pozyskiwania kształtów graficznych do wykorzystania w przetwarzaniu K-GK

W niektórych sytuacjach teoretycznie moŜliwe jest tworzenie transformacji ułatwiających wygenerowanie reprezentacji graficzncyh kształtów na podstawie modelu rzeczywistego. Ich wyodrębnienie będzie zakładało istenienie dostarczonej z zewnątrz transformacji dopuszczalnej, tak jak w przypadku klasycznej gramatyki kształtu opisanej w punkcie 2.4.1. W ramach prac nad ostateczną formułą reguły substytucji stworzono kilka przykładowych transformacji, umoŜliwiających napisanie algorytmu przetwarzającego obiekt rzeczywisty zadany trójwymiarową siatką wielokątów w rozpoznawalne kształty graficzne. Istnieje wiele technik reprezentowania kształtów w trójwymiarowej przestrzeni projekcji, zwłaszcza gdy stanowią one bryłę. Obok reprezentacji siatkami wiekokątów moŜna przykładowo zastosować woksele [Fol90], listy brył prostych łączonych operacjami boolowskimi [Fol90], ograniczać przestrzeń płaszczyznami podziału [Bis04], czy stosować drzewa ósemkowe albo BSP [Fol09]. Jednak z uwagi na popularność zastosowań danej techniki, a tym samym na powszechność występowania materiału graficznego oraz łatwość jego renderowania przy uŜyciu ogólnie dostępnych urządzeń i narzędzi zdecydowano się na prowadzenie badań wyłącznie nad interpretacją struktury siatek wielokątów. Dekompozycja takiego materiału graficznego ma nacelu:

• przeprowadzenie fizycznego podziału opisującej go trójwymiarowej siatki wielokątów,

• zidentyfikowanie wydzielonych siatek jako reprezentacje graficzne klas kształtów (poprzez porównanie siatek z opracowaną do tego celu metryką),

• ustalenie (na przykład poprzez obliczenie techniką bounding box [Lue03]) geometrycznych właściwości kształtów graficznych,

Metodyka rozwiązania

89

• zapisanie kształtów wraz z meta-danymi w diagramie kształtów K-GK.

Powstały diagram kształtów moŜna wtedy traktować jako początkowy w gramatyce K-GK. Kilka tego typu rozwiazań autor opracował i zaimplementował w ramach prowadzenia doświadczeń [Tur09]. Wyniki nie były obiecujące i trzeba tu raczej wyciągnąć wniosek o braku moŜliwości opracowania rozwiazania na tyle uniwersalnego, aby warte było przyjęcia na listę tez dołączonych do niniejszej pracy. Ogrom szumów istniejących w tak zadanym materiale graficznym, pełna dowolność określenia kształtu graficznego (jaką udostępnia siatka wielokątów) to główne napotkane problemy. Zastosowanie takich metod moŜliwe jest jedynie wobec jednoznacznie zidentyfikowanego obiektu (reprezentowanego przez wspomnianą siatkę wielokątów). Ich znaczenie naleŜy interpretować jedynie jako wytyczną to tworzenia narzędzi developerskich dla gramatyk, przy projektowaniu których projektant samodzielnie przeprowadzi podział siatki wielokątów i zakwalifikuje wydzielone komponenty jako kszałty.

Kształty początkowe gramatyki kształtu to symbole rozpoznawalne przez tą gramatykę (naleŜące do jej alfabetu). Rozpoznawalność będzie podstawą do identyfikacji danego symbolu i zastosowania wobec niego określonej reguły (produkcji). Jak stwierdzono, nie jest moŜliwe pobranie z natury dowolnego kształtu i umieszczenie go w gramatyce. Teoretycznie moŜliwe jest uproszone prowadzenie analiz kształtów naturalnych - po znacznym zawęŜeniu przestrzeni projekcji. Jednym z pomysłów jest tutaj zawęŜenie wymiaru przestrzeni - na przykład do analizy kształtów w przestrzeni dwuwymiarowej. W przypadku poszukiwania nieskomplikowanych kształtów początkowych, których liczba ograniczona jest pulą od kilku do kilkunastu moŜliwości spodziewane są zadowalające wyniki. W takim wariancie rozwiązanie bazuje na kombinatorycznym dopasowywaniu sygnału wejściowego do wzorców, sprawdzajac zgodność jedynie kilku wyróŜnionych atrybutów kształtu. Przykładowo – otrzymując kształty będące pojedyńczymi wielokątami. Nie posiadają one wielu atrybutów, gdyŜ są określane jedynie poprzez geometryczne usytuowanie swoich wierzchołków i naniesienie odcinków pomiędzy tymi wierzchołkami. Pokazano to na rysunku 5.17.

Rysunek 5.17: Identyfikacja kształtu graficznego na bazie sygnału uproszczonego: obraz 2D z łatwo rozpoznawalnymi obiektami (trójkąt, trapez, sześciokąt, prostokąt itp.) (źródło własne).

C1

C2 C3

Metodyka rozwiązania

90

Warto zauwaŜyć, iŜ kształty te po sklasyfikowaniu moŜna łatwo umieścić w trójwymiarowej przestrzeni projekcji – dodając ujednolicone wartości z do wierzchołków siatki reprezentującej obiekt. Przetwarzanie diagramu kształtów nie będzie w Ŝaden sposób ograniczone wykorzystaniem takich reprezentacji graficznych (jak zaznaczono wcześniej w Tabelach 5.1, 5.2), a wynikowy diagram kształtów będzie wizualizowany w trójwymiarowej przestrzeni projekcji.

Jeszcze innym podejściem moŜe być paradoksalnie zignorowanie problemu braku determinizmu przy takiej transformacji. Transformacja moŜe wtedy przykładowo jedynie pobieŜnie analizować otrzymaną siatkę 3D poszukując w niej na przykład wierzchołków o znaczeniu wyróŜnionym przez osobno zdefiniowane kryteria, ustalać tylko wymiary siatki (np. poprzez ustalenie maksimum odległości wierzchołków skrajnych) lub szukać punktów koncentracji duŜej liczby wierzchołków [Dua02]. Te rozwiązania będą jednak równieŜ miały zastosowanie tylko w przypadku konkretnych zadań projektowych.

Tematyka związana z opracowywaniem rozwiązań opisanego powyŜej problemu jest niezmiernie obszerna [Tur08] i niewątpliwie wykracza poza ramy rozwaŜań w niniejszej pracy. Warto jednak zaznaczyć, iŜ proponowany w system moŜe zostać zimplementowany tak, aby istniała moŜliwość wykorzystania takich metod jako alternatywne źródło kształtów. Dzięki postulatowi wprowadzenia poziomów abstrakcji w interpretowaniu materiału graficznego angaŜowanie takich rozwiązań w systemach generacyjnych będzie wymagało przeprojektowania tylko warstwy przetwarzajacej reprezentacje graficzne kształtów.

5.8 Ontologiczne podejście do problemu rozróŜnialności klas

W dokumencie Index of /rozprawy2/10294 (Stron 86-90)