Zastosowanie CP-grafów do generacji siatek

Podobne dokumenty
Gramatyki kształtu. 1 Cel zajęć. 2 Narzędzie. 3 Ćwiczenie wprowadzające. 2.1 Uwagi ogólne odnośnie działania

5.4. Tworzymy formularze

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

Laboratorium 8 ( Android -pierwsza aplikacja)

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

Tworzenie i modyfikowanie wykresów

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Zapytania i wstawianie etykiet z bazy danych do rysunku

6.4. Efekty specjalne

Instrukcja postępowania w procesie aktualizacji systemu UPLOOK / STATLOOK z wersji 3.0 do wersji 3.2

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Ćwiczenie dodatkowe - Wybrane narzędzia modelowania Zadanie Przygotować model stołu z krzesłami jak na rysunku poniżej(rys. 1).

Kostki OLAP i język MDX

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

SysML Tworzenie diagramu kontekstowego i bloków wewnętrznych SysML003

5.2. Pierwsze kroki z bazami danych

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Tworzenie tabeli przestawnej krok po kroku

Połączenie AutoCad'a z bazą danych

Załącznik nr 8. do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej województwo podkarpackie

Instrukcja użytkownika

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Rysunek 1. Zmontowane części

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

OPERACJE NA PLIKACH I FOLDERACH

1 Automaty niedeterministyczne

Programowanie Obiektowe GUI

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Tworzenie prezentacji w MS PowerPoint

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Workflow automatyczna kopia bazy danych

SysML rozpoczynanie projektu SysML001

16) Wprowadzenie do raportowania Rave

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Kopiowanie, przenoszenie plików i folderów

ROZLICZENIA NFZ BY CTI INSTRUKCJA

Modelowanie obiektowe - Ćw. 1.

Nr: 15. Tytuł: Kancelaris w systemie Windows 8 i Windows 8.1. Data modyfikacji:

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

TWORZENIE ARKUSZY Z PRZEKROJAMI POPRZECZNYMI

inpost Paczkomaty v Strona 1 z 12

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Uruchamianie bazy PostgreSQL

WinSkład / WinUcz 15.00

Uniwersytet Zielonogórski. Kurs: Autodesk 3D Studio MAX Komputerowa grafika 3D. 3dsmax Tworzenie animacji 3D.

ZPKSoft Synchronizator

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.

Dokumentacja panelu Klienta

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Edytor tekstu MS Word podstawy

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

CorelDraw - wbudowane obiekty wektorowe - prostokąty Rysowanie prostokątów

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

BRELOK DO KLUCZY. ZADANIE Stwórz breloczek z nazwą twojej szkoły 1. Szkic breloczka z napisem MAKER

Rozdział 5. Administracja kontami użytkowników

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Ćwiczenie 4: Edycja obiektów

Podstawowe funkcjonalności interfejsu. - co warto wiedzieć o interfejsie Mozart-a

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Rozdział 5: Style tekstu

INSTRUKCJA INSTALACJI APLIKACJI PROF- EAN 2

Dokumentacja panelu Klienta

Załącznik 1 instrukcje instalacji

3D Analyst. Zapoznanie się z ArcScene, Praca z danymi trójwymiarowymi - Wizualizacja 3D drapowanie obrazów na powierzchnie terenu.

4.2. Ustawienia programu

Baza Aktów Własnych. Autor: Piotr Jegorow. ABC PRO Sp. z o.o.

Gimp - poznaj jego możliwości!

MS Access formularze

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Ewidencja Wyposażenia PL+

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.

GENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Przedszkolaki Przygotowanie organizacyjne

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

TWORZENIE BLOKÓW I ATRYBUTÓW DLA PODANEGO PRZYKŁADU RYSUNKU ZESTAWIENIOWEGO. SPORZĄDZENIE LISTY ATRYBUTÓW

Plaza Oprogramowanie Grzegorz Drzewiecki

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Instrukcja do programu myshowup

(aktualizacja 30 kwietnia 2018)

Kadry Optivum, Płace Optivum

Niestandardowa tabela częstości

Misja #1 Poznajemy Prophio.

System Obsługi Zleceń

Edycja procedury standardowej - manipulowanie elementami drzewa

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

3.7. Wykresy czyli popatrzmy na statystyki

Kurs Adobe Photoshop Elements 11

Transkrypt:

Zastosowanie CP-grafów do generacji siatek 1 Cel zajęć Celem zajęć jest praktyczne zaznajomienie się z pojęciem CP-grafu i gramatyk grafowych, przy pomocy których można je tworzyć i nimi manipulować. Jako przykład wykorzystamy zaprezentowane na wykładzie generowanie siatek 2D dla metody elementów skończonych. 2 CP-grafy przypomnienie Precyzyjne definicje CP-grafu oraz jego gramatyki grafowej (CP-graph grammar) znaleźć można w wykładzie. CP-graf składa się, jak każdy graf, z wierzchołków i krawędzi pomiędzy nimi. Wierzchołki i krawędzie mają swoje etykiety. Etykiety nie muszą być unikalne, różne wierzchołki/krawędzie mogą mieć takie same etykiety. Istotną różnicą jest szczególna rola wiązań (bonds). Krawędź wchodząca/wychodząca z danego wierzchołka v jest skojarzona z pewnym wiązaniem. Z każdym wiązaniem może być skojarzona co najwyżej jedna krawędź (ale nie musi wiązanie może być wolne). Wiązania mają swoje identyfikatory, które pełnią istotną rolę w gramatykach. Gramatyka CP-grafowa składa się z grafu początkowego oraz zbioru produkcji. Produkcja to (w przybliżeniu) reguła postaci L R, gdzie L i R to pewne CP-grafy. Aplikacja takiej reguły do CP-grafu G polega intuicyjnie na zamienieniu wystąpienia L w G (jako podgrafu) na R. Dodatkowo wymagamy, by obie strony produkcji gramatyki posiadały taką samą liczbę wiązań wolnych. Dzięki temu aplikacja produkcji zachowuje interfejs CP-grafu (ilość jego wiązań wolnych). Aplikacja reguły zazwyczaj nie jest wyznaczona unikalnie, mamy dwa podstawowe problemy (niejasności): ( globalna ) L może występować w G w wielu egzemplarzach ( lokalna ) wystąpienie L jest zazwyczaj połączone krawędziami z resztą G (połączenia te występują jako wiązania wolne w L), trzeba jakoś je przepiąć do R, każda permutacja wolnych wiązań jest a priori możliwa Pierwszy rodzaj niejasności nie jest w praktyce szczególnym problemem, drugi rozwiązujemy wprowadzając do produkcji dodatkową informację odwzorowanie bijektywne pomiędzy wiązaniami wolnymi obu stron produkcji. W praktyce nadajemy wiązaniom wolnym dodatkowe etykiety (niezależne od tych, które mają same z siebie w grafie). 1

3 GraphTool Aplikacja GraphTool ma problem z wyciekiem obiektów WinGDI. Co jakiś czas konieczne jest jej zrestartowanie. Pomocne w wyznaczeniu tych momentów może być uruchomienie taskmanagera, dodanie w nim kolumny z ilością obiektów GDI i monitorowanie jej (limit to 10000). Do tworzenia gramatyk dla CP-grafów wykorzystamy narzędzie GraphTool. Na początku konieczne jest stworzenie nowego projektu (GraphTool Project). Jako rodzaj grafu wybieramy CP-graf z nieskierowanymi krawędziami (rys. 1). Rysunek 1: Opcje projektu Rozpoczniemy od stworzenia produkcji P1 Rysunek 2: P1 Aby dodać nową produkcję, należy wybrać z menu kontekstowego folderu productions opcję New -> Production. 2

Rysunek 3: Dodawanie produkcji W wyniku tej akcji znajdziemy się w widoku edytora produkcji. Jego dwa obszary reprezentują obie strony produkcji. Aby dodać wierzchołek należy przeciągnąć z menu (rys. 4) CP Non-terminal node do wybranego obszaru. Przy tworzeniu wierzchołka podać trzeba jego nazwę i ilość wiązań, ale obie te rzeczy można potem zmienić. Wierzchołki można przemieszczać przeciągając je kursorem, można także manipulować ich rozmiarem. Przytrzymanie klawisza Shift gwarantuje skalowanie proporcjonalne w obu wymiarach. Zaznaczywszy kilka wierzchołków można skalować je jednocześnie (przyda się później, bo domyślnie wierzchołki są dość małe i nie będzie widać etykiet). Po lewej stronie potrzebujemy jednego wierzchołka o nazwie S bez żadnych wiązań, po prawej zaś dwa wierzchołki o nazwach Iel1 oraz y1, oba z jednym wiązaniem. Aby połączyć Iel1 z y1 należy użyć narzędzia zaznaczonego na rys. 4. Rysunek 4: Menu edytora produkcji (zaznaczone narzędzie do tworzenia krawędzi) Domyślnie pierwsze wiązanie jest zawsze wizualnie po prawej stronie wierzchołka. Można to zmienić obracając wierzchołek opcja Rotate w menu kontekstowym, obrót o 180 spowoduje, że wiązania obu wierzchołków będą skierowane ku sobie. 3.1 Uruchamianie produkcji Stworzyliśmy pierwszą produkcję, dobrze byłoby zobaczyć jej działanie w akcji. GraphTool wymaga od nas uprzedniego zdefiniowania kolejności (ścieżki), w jakiej można aplikować 3

produkcje. Edytując plik grammar.diagram możemy zdefiniować graf określający możliwą kolejnośc wykonywania produkcji. Domyślnie znajdują się w nim dwa wierzchołki, reprezentujące początek i koniec przetwarzania. Dodajmy pomiędzy nimi produkcję P1 (rys. 5). Rysunek 5: Graf wykonania produkcji Aby móc uruchomić produkcje, musimy zdefiniować jeszcze graf początkowy. W tym celu stworzyć należy nowy graf (graphs -> New -> Graph editor), identyczny z lewą stroną naszej produkcji (zgadzać musi się nazwa wierzchołka). W przeciwieństwie do edytora produkcji, narzędzia do tworzenia wierzchołków są w osobnym widoku Palette. Uaktywnić można go poprzez Window -> Show view -> Other -> Palette. Aby uruchomić produkcje, wybrać należy Run configurations i stworzyć nową konfigurację opartą o Graph derivation, podając odpowiedni projekt i stworzony przed momentem graf początkowy. Po lewej stronie mamy graf wykonania z zaszarzonym wierzchołkiem odpowiadającym miejscu, w którym wykonanie się znajduje, po prawej zaś graf przekształcany gramatyką (obecnie graf początkowy). Pod spodem znajdują się przyciski pozwalające wybrać produkcję do wykonania. Po wykonaniu produkcji P1 naszym oczom ukazać winien się mniej więcej taki widok: 4

Rysunek 6: Graf po P1 3.2 Kolejne produkcje Kontynuujemy dodając nowe produkcje, zaczynając od P2 (rys. 7). W tej produkcji mamy wolne wiązania należy nadać im specjalne etykiety (GraphTool nazywa je free name). Ustawić można je w tym samym miejscu, co nazwę w panelu atrybutów wierzchołka (zakładka Bonds ). Konkretna nazwa jest nieważna, natomiast musi być identycnza dla wiązań po obu stronach. Bez tego (bez nadania tych etykiet lub po nadaniu różnych) GraphTool sygnalizuje błąd. Rysunek 7: P2 Dodanie P2 po P1 oraz wykonanie obu produkcji daje efekt jak na rys. 8. Rysunek 8: Graf po P2 3.3 Produkcja PII Kolejna produkcja to PII, przedstawiona na rys. 9. Tworzy ona strukturę siatki dla pojedynczego elementu siatki. Nie zawiera ona bardziej złożonych mechanizmów, niż poprzednie produkcje, natomiast jest znacznie od nich bardziej obszerna. Ponadto, w następnym kroku wykorzystywać będziemy część struktury, którą tworzy. Z tych względów dobrym pomysłem wydaje się podejście do jej tworzenia w sposób nieco bardziej zorganizowany. 5

Rysunek 9: PII W szczególności warto rozważyć nadanie nazw wiązaniom występujących w niej wierzchołków (domyślnie są to kolejne liczby naturalne). Można np. nazwać wiązania w iel analogicznie do krawędzi kierunkami geograficznymi (rys. 10). Rysunek 10: Implementacja produkcji PII Ponadto, należy nadać nazwy krawędziom od iel do 8 skrajnych wierzchołkow (jak na schemacie 9). Efekt końcowy powinien wyglądać mniej więcej jak na rys. 14. 6

Rysunek 11: Implementacja produkcji PII Po pojedynczym zastosowaniu produkcji PII dostajemy graf przedstawiony na rys. 12. Kolejne zastosowanie PII zamienia drugie wystąpienie Iel1 na graf reprezentujący element siatki. Uwaga: Może się zdarzyć, że graf dla drugiego wystąpienia Iel1 nałoży się całkiem na ten pierwszy Z niewyjaśnionych powodów czasem GraphTool zdaje się mieć problem ze znalezieniem drugiego wystąpienia Iel1. Warto wtedy spróbować uruchamiać generację grafu kilkukrotnie, jest spora szansa że za którymś razem zastosowanie produkcji się powiedzie. 7

Rysunek 12: Graf po zastosowaniu produkcji PII 3.4 Produkcja PIC Do zaimplementowania pozostaje ostatnia produkcja PIC (rys. 13). Rysunek 13: PIC Po lewej stronie należy odtworzyć fragment grafu dwóch sąsiednich elementów. Pamiętać należy o odpowiedniej ilości i zgodnych nazwach wiązań wolnych w iel oraz F, jak również o zgodności struktury (nazw wierzchołków, wiązań, krawędzi) z tą zdefiniowaną w produkcji PII. 8

Rysunek 14: Implementacja produkcji PIC 9