Ćwiczenia z przetwarzania tablic 2D

Wielkość: px
Rozpocząć pokaz od strony:

Download "Ćwiczenia z przetwarzania tablic 2D"

Transkrypt

1 Ćwiczenia z przetwarzania tablic 2D Wyświetlanie tablic 2D Jako wstęp do przetwarzania obrazów w pythonie przećwiczmy podstawowe operacje na dwuwymiarowych tablicach numpy w postaci których będziemy takie obrazy przechowywać. Zacznijmy od zdefiniowania przykładowej tablicy, która będzie reprezentować obrazek. import numpy as np import pylab as py a=np.zeros((100,100),dtype=np.bool) a[30:50,30:50]=true a[50:70,50:70]=true Stworzyliśmy w ten sposób tablice 100 na 100 z wpisanymi wartościami False oraz w środku dwa kwadraty o boku 20 z wartościami True. Już tak stworzoną tablicę możemy wyświetlić za pomocą pylaba. py.imshow(a) py.show()

2 Nie do końca można było się spodziewać, że pylab wyświetli wartości False w kolorze granatowym, a wartości True w kolorze bordowym. Za przyporządkowanie kolorów określonym wartościom odpowiada tzw. mapa kolorów, którą podajemy jako parametr w poleceniu imshow. Aby uzyskać bardziej intuicyjną skalę szarości należy wywołać polecenie następująco py.imshow(a,cmap = py.cm.gray) py.show()

3 Teraz kolory (a raczej ich brak) są takie jakich można było się spodziewać. Zaskakujące jest za to rozmycie brzegów kwadratów. Obrazek wyświetlany jest w większych rozmiarach niż jego domyślne 100 na 100 pixeli. Pylab aby wyświetlić go w wyższej rozdzielczości musi zwiększyć jego rozmiary. Rozciągając obrazek można w różny sposób przypisywać wartości pixelom, których nie było w pierwotnym obrazku. Proces ten nazywamy interpolacją i aby uzyskać "ostre" krawędzie należy znów użyć odpowiedniej opcji metody imshow. py.imshow(a,cmap = py.cm.gray, interpolation = 'nearest') py.show()

4 Gra w życie Conwaya W ramach ćwiczeń zaprogramujmy klasyczny automat komórkowy zwany grą w życie Conwaya. W naszej wersji gra toczy się na skończonej planszy o wymiarach 100 na 100 podzielonej na kwadratowe komórki. Każda komórka (poza brzegowymi) ma ośmiu sąsiadów, czyli komórki przylegające do niej bokami i rogami. Każda komórka może znajdować się w jednym z dwóch stanów: może być albo "żywa" (stanowi przypisujemy wartość 1), albo "martwa" (wartość 0). Stan wszystkich komórek w pewnej jednostce czasu jest używany do obliczenia stanu wszystkich komórek w następnej jednostce. Po obliczeniu wszystkie komórki zmieniają swój stan jednocześnie. Stan komórki zależy tylko od liczby jej żywych sąsiadów w następujący sposób Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się) Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje żywa, przy innej liczbie sąsiadów umiera Zacznijmy od zdefiniowania planszy gry

5 import numpy as np import pylab as py a=np.zeros((100,100)) Kluczową i najtrudniejszą funkcją jest funkcja zliczająca liczbę sąsiadów danej komórki. Problematyczne jest tutaj uwzględnienie przypadku komórek znajdujących się na rogach, które mają po trzech sąsiadów, oraz komórek brzegowych mających po 5 sąsiadów. Przykładowe rozwiązanie wygląda następująco. def ile_sasiadow(x,y,macierz): return np.sum(macierz[max(,x-1):min(macierz.shape[],x+2),max(,y-1):min(macierz.shape [1],y+2)].flatten())-macierz[x,y] Z tak przygotowaną funkcją ile_sasiadow możemy zdefiniować funkcję określającą logikę gry w życie. def nowy_stan_komorki(x,y,macierz): sasiadow=ile_sasiadow(x,y,macierz) if sasiadow==3: return 1 if sasiadow==2 and macierz[x,y]==1: return 1 return Możemy teraz zdefiniować nowy stan całej planszy. def krok(macierz): wynik=macierz.copy() for x,y in np.ndindex(wynik.shape): wynik[x,y]=nowy_stan_komorki(x,y,macierz) return wynik Jako warunku początkowego możemy użyć tzw. lokomotywy. lokomotywa=np.array([[1,1,1,,1],[1,,,,],[,,,1,1],[,1,1,,1],[1,,1,,1]]) a[45:50,45:50]=lokomotywa W pylabie istnieje prosty sposób na wyświetlenie animacji poprzez odświeżanie już wyświetlonego obrazka. py.ion() for n in range(1000):

6 py.imshow(a, cmap='greys', interpolation='nearest') a=krok(a) py.draw() "Programowanie dla Fizyków Medycznych"

Spis treści. Morfologia matematyczna. 1 Morfologia matematyczna 1.1 Dylacja 1.2 Erozja 1.3 Otwarcie i zamknięcie 1.

Spis treści. Morfologia matematyczna. 1 Morfologia matematyczna 1.1 Dylacja 1.2 Erozja 1.3 Otwarcie i zamknięcie 1. Spis treści 1 Morfologia matematyczna 1.1 Dylacja 1.2 Erozja 1.3 Otwarcie i zamknięcie 1.4 Filtr medianowy Morfologia matematyczna Morfologia matematyczna to bardzo przydatna metoda przetwarzania obrazów

Bardziej szczegółowo

Ćwiczenia z mainuplacji obrazem rozpocznijmy od wczytania pliku, który będziemy przetwarzać. Dla fizyków medycznych naturalnie będzie to plik DICOM.

Ćwiczenia z mainuplacji obrazem rozpocznijmy od wczytania pliku, który będziemy przetwarzać. Dla fizyków medycznych naturalnie będzie to plik DICOM. Spis treści 1 Manipulacja obrazem 1.1 Jasność 1.2 Gamma 1.3 Próg 1.4 Schodek 1.5 Rozmycie i wyostrzenie Manipulacja obrazem Ćwiczenia z mainuplacji obrazem rozpocznijmy od wczytania pliku, który będziemy

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

Bardziej szczegółowo

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl dwojcik@swps.edu.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/

Bardziej szczegółowo

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu Mateusz Żyliński Tadeusz Włodarkiewicz WireWorld Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu 1 I. Informacje ogólne A utomat komórkowy to system

Bardziej szczegółowo

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji LIVE Gra w życie Live jest jednym z pierwszych i najbardziej znanych tzw. automatów komórkowych. Został wymyślony w 1970 roku przez brytyjskiego matematyka Johna Conwaya. Co to takiego automat komórkowy?

Bardziej szczegółowo

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy Modelowanie wieloskalowe Automaty Komórkowe - podstawy Dr hab. inż. Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej Budynek B5 p. 716 lmadej@agh.edu.pl

Bardziej szczegółowo

Układy dynamiczne Chaos deterministyczny

Układy dynamiczne Chaos deterministyczny Układy dynamiczne Chaos deterministyczny Proste iteracje odwzorowań: Funkcja liniowa Funkcja logistyczna chaos deterministyczny automaty komórkowe Ewolucja układu dynamicznego Rozwój w czasie układu dynamicznego

Bardziej szczegółowo

Wykresy i interfejsy użytkownika

Wykresy i interfejsy użytkownika Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 02 Jarosław Miszczak IITiS PAN Gliwice 06/10/2016 1 / 31 Czego dowiedzieliśmy się na poprzednim wykładzie? 1... 2... 3... 2 / 31 1 2 3 3 / 31 to jeden z pierwszych

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Powstanie gry Opis reguł gry Reguły według Conwaya Elementy występujące w grze Modyfikacje gry Charakterystyka automatu komórkowego Gra w Życie

Powstanie gry Opis reguł gry Reguły według Conwaya Elementy występujące w grze Modyfikacje gry Charakterystyka automatu komórkowego Gra w Życie Game of life Spis treści Powstanie gry Opis reguł gry Reguły według Conwaya Elementy występujące w grze Modyfikacje gry Charakterystyka automatu komórkowego Gra w Życie Powstanie gry Game of life (Gra

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach. Nazwa implementacji: Gra w życie Autor: Piotr Fiorek Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach. Zaprojektuj prostą grę, której celem

Bardziej szczegółowo

Turing i jego maszyny

Turing i jego maszyny Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan

Bardziej szczegółowo

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych. Spis treści 1 Wstęp 1.1 Importy 2 Zbiór uczący 3 Klasyfikacja 3.1 Rysunki dodatkowe 4 Polecenia dodatkowe Wstęp Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych. Importy

Bardziej szczegółowo

Spis treści. Optymalizacja jednowymiarowa

Spis treści. Optymalizacja jednowymiarowa Spis treści 1 Optymalizacja jednowymiarowa 2 Optymalizacja wielowymiarowa 2.1 Zadanie - rozkład Cauchy'ego 2.2 Rozwiązanie 2.3 Zadanie - Data Container 2.4 Rozwiązanie Optymalizacja jednowymiarowa Omawianie

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski Podstawy Pythona Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski Słownik jest typem mutowalnym. Każdy element to para: klucz wartość. W celu stworzenia słownika pary klucz wartość umieszczamy

Bardziej szczegółowo

Równania różniczkowe zwyczajne

Równania różniczkowe zwyczajne Równania różniczkowe zwyczajne Zajmiemy się teraz problemem numerycznego rozwiązywania równań różniczkowych zwyczajnych o postaci: z warunkeim początkowym. Zauważmy że przykładowe równanie różniczkowe

Bardziej szczegółowo

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY Informatyka w Edukacji, XV UMK Toruń, 2018 PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY Grażyna Szabłowicz-Zawadzka http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Lista typ sekwencyjny

Bardziej szczegółowo

Języki i metody programowania

Języki i metody programowania Języki i metody programowania Wykład 3 dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie hab. Andrzeja Zbrzezngo Wartości boolowskie

Bardziej szczegółowo

Podręcznik. Model czy teoria

Podręcznik. Model czy teoria MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 58 92 424 http://www.neuroinf.pl/members/danek/swps/ Iwo Białynicki-Birula Iwona Białynicka-Birula

Bardziej szczegółowo

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy Modelowanie wieloskalowe Automaty Komórkowe - podstawy Dr hab. inż. Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej Budynek B5 p. 716 lmadej@agh.edu.pl

Bardziej szczegółowo

Budowa i generowanie planszy

Budowa i generowanie planszy Gra Saper została napisana w. Jest dostępna w każdej wersji systemu Windows. Polega na odkrywaniu zaminowanej planszy tak, aby nie trafić na minę. Gra działa na bardzo prostej zasadzie i nie wymaga zaawansowanego

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty Zadanie Zawijasy LOGIA 18 (2017/18), etap 2 Treść zadania Tablica Polibiusza jest kwadratową tabelą zawierającą litery alfabetu łacińskiego. Kolumny numerujemy od 0 do 4, a wiersze od 1 do 5. Kodujemy

Bardziej szczegółowo

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE Tworzy światło punktowe emitujące światło we wszystkich kierunkach. Lista monitów Wyświetlane są następujące monity. Określ położenie źródłowe : Podaj wartości

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0) Tablice Mamy napisać program obliczający średnią ocenę w łyżwiarstwie figurowym W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.

Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej. Wrocław, 28.11.2017 Wstęp do informatyki i programowania: liczby pierwsze Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Zajmiemy się liczbami pierwszymi... liczby

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3 Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Aplikacje mobilne Pliki zasobów, grafiki, menu, podpinanie zdarzeń dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Pliki zasobów Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Programowanie funkcyjne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XIV Jesień 2013 1 / 25 Paradygmaty programowania Programowanie imperatywne Program

Bardziej szczegółowo

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl tel. 022

Bardziej szczegółowo

Tworzenie szablonów użytkownika

Tworzenie szablonów użytkownika Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Dlaczego obiekty Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla

Bardziej szczegółowo

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 4 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 24 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

Bardziej szczegółowo

Ćwiczenie 6. Transformacje skali szarości obrazów

Ćwiczenie 6. Transformacje skali szarości obrazów Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 6. Transformacje skali szarości obrazów 1. Obraz cyfrowy Obraz w postaci cyfrowej

Bardziej szczegółowo

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n

Bardziej szczegółowo

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,

Bardziej szczegółowo

Programowanie w Sieci Internet. Python: Wątki. Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet. Python: Wątki. Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Python: Wątki Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Wątki akt pierwszy, kilka przydatnych funkcji Lib/threading.py modół pozwalający

Bardziej szczegółowo

Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy

Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy Temat: Przekształcanie fotografii cyfrowej w grafikę

Bardziej szczegółowo

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obraz cyfrowy Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obraz Funkcja dwuwymiarowa. Wartością tej funkcji w dowolnym punkcie jest kolor (jasność). Obraz

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI ❽ Wyniki analizy

INSTRUKCJA OBSŁUGI ❽ Wyniki analizy INSTRUKCJA OBSŁUGI ❽ Wyniki analizy 2 SPIS TREŚCI I. ZAKTUALIZOWANY INTERFEJS PROGRAMU SCADA Pro II. OPIS NOWEGO INTERFEJSU 1. Wyniki analizy 1.1 Wykresy/Deformacje 1.2 Różne 3 I. ZAKTUALIZOWANY INTERFEJS

Bardziej szczegółowo

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 5 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 7 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

Bardziej szczegółowo

W dowolnym kwadracie 3x3 ustawiamy komórki na palące się (stan 3). Program powinien pokazywać ewolucję pożaru lasu.

W dowolnym kwadracie 3x3 ustawiamy komórki na palące się (stan 3). Program powinien pokazywać ewolucję pożaru lasu. 1. Symulacja pożaru lasu ver. 1 Las reprezentowany jest przez macierz 100x100. W lesie występują dwa rodzaje drzew: liściaste i iglaste. Przyjmijmy, że prostokąt A(1:50,1:100) wypełniony jest drzewami

Bardziej szczegółowo

Ćwiczenie 1 Galeria zdjęć

Ćwiczenie 1 Galeria zdjęć Galeria zdjęć Pobierz przykład (http://jsekulska.kis.p.lodz.pl/studia.htm). Krok 1 Ustawienie stołu montażowego Otwieramy nowy plik i nazywamy go (np. gallery.fla). Ustawiamy wielkość pola roboczego na

Bardziej szczegółowo

Kodu z klasą. Skarb w zatrutej wodzie, cz. 2. Scenariusz 6

Kodu z klasą. Skarb w zatrutej wodzie, cz. 2. Scenariusz 6 W scenariuszu nr 6 kontynuujemy pracę rozpoczętą na poprzednich zajęciach i ukończymy cały scenariusz. Dzisiaj przygotujemy zdarzenia, gdzie fabryka zatruwa wodę i zwierzęta stają się agresywne oraz zaprogramujemy

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład: Programowanie liniowe. 1. Aktywacja polecenia Solver. Do narzędzia Solver można uzyskać dostęp za pomocą polecenia Dane/Analiza/Solver, bądź Narzędzia/Solver (dla Ex 2003). Jeżeli nie można go znaleźć,

Bardziej szczegółowo

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów Laboratorium 1 Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów Konfiguracja systemu WinPython 3.6/ 3.7 Otworzyć konsolę Python a WinPython Command Prompt

Bardziej szczegółowo

Liga zadaniowa - Informatyka. Zad 1. (Python lub Logomocja)

Liga zadaniowa - Informatyka. Zad 1. (Python lub Logomocja) Zad 1. (Python lub Logomocja) Janek postanowił zaprojektować logo swojej szkoły i wykonać projekt w języku Python lub Logomocja. Sporządził w tym celu rysunek pomocniczy i przyjął następujące założenia:

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Uzyskanie podkładu topograficznego z Geoportalu przy użyciu biblioteki GDAL. Krzysztof Kochan

Uzyskanie podkładu topograficznego z Geoportalu przy użyciu biblioteki GDAL. Krzysztof Kochan Uzyskanie podkładu topograficznego z Geoportalu przy użyciu biblioteki GDAL Krzysztof Kochan Cel zadania Uzyskanie zgeoreferencjowanego podkładu topograficznego z Geoportalu, o określonych granicach,przy

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

3.4. Opis konfiguracji layoutów.

3.4. Opis konfiguracji layoutów. Definicja layout-ów dla tablicy odczytywana jest z tabeli w bazie danych: [UnitId_System] Gdańsk = 42, Gdynia = 43 [UnitId_Subsytem] 6 = TZT, 7 = ZZT [UnitId_Unit] identyfikator obiektu [Update_TimeStamp]

Bardziej szczegółowo

Zadania z rysowania i dopasowania funkcji

Zadania z rysowania i dopasowania funkcji Spis treści 1 Zadania z rysowania i dopasowania funkcji 1.1 Znajdowanie miejsca zerowego funkcji 1.2 Wczytywanie danych i wykres 1.3 Dopasowywanie krzywej do danych i wykres 1.3.1 Wskazówki Zadania z rysowania

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Wprowadzenie do Python

Wprowadzenie do Python Wprowadzenie do Python Marcin Orchel 1 Środowisko Python Zalecane korzystanie z dystrybucji Anaconda. W systemie linux może być już dostępny Python. Sprawdzenie wersji Pythona, python -V. Uruchomienie

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Maskowanie i selekcja

Maskowanie i selekcja Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,

Bardziej szczegółowo

Visual Basic w programie Excel dla Windows

Visual Basic w programie Excel dla Windows Visual Basic w programie Excel dla Windows Ćwiczenie nr 1 Makrodefinicje. Zakres ćwiczenia: Nagrywanie, odtwarzanie, modyfikowanie i upraszczanie makrodefinicji. Makrodefinicje lokalne i globalne. Przyporządkowanie

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne 1 Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

CZAS NA PROGRAMOWANIE

CZAS NA PROGRAMOWANIE CZAS NA PROGRAMOWANIE Wanda Jochemczyk Wydawnictwa Szkolne i Pedagogiczne wanda.jochemczyk@oeiizk.waw.pl Abstract. This workshop is for teachers who have basic skills in programming in Scratch. During

Bardziej szczegółowo

Automaty komórkowe. Katarzyna Sznajd-Weron

Automaty komórkowe. Katarzyna Sznajd-Weron Automaty komórkowe Katarzyna Sznajd-Weron Trochę historii CA (Cellular Automata) Koniec lat 40-tych John von Neuman maszyna z mechanizmem samopowielania Sugestia Ulama 1952 dyskretny układ komórek dyskretne

Bardziej szczegółowo

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla kwadrat, okrąg

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty Zadanie Szyfr Bacona LOGIA 17 (2016/17), etap 2 Treść zadania Szyfr Bacona polega na zastępowaniu liter alfabetu łacińskiego pięcioznakowymi ciągami złożonymi z liter a i b zgodnie z poniższą tabelą: A

Bardziej szczegółowo

Gra na telefon komórkowy

Gra na telefon komórkowy Ćwiczenie 6 Systemy wbudowane - laboratorium Gra na telefon komórkowy I. Cele ćwiczenia W ramach tego ćwiczenia należy: 1) Przygotować sobie środowisko do pisania programów w Java ME. a. Najprostszym sposobem

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Egzamin maturalny z informatyki Poziom rozszerzony

Egzamin maturalny z informatyki Poziom rozszerzony Zadanie 4. Doświadczenie Planowane jest doświadczenie laboratoryjne, które będzie trwało 1500 minut. Do dyspozycji będą: naczynie o pojemności 5 litrów z mechanizmem mieszającym, automatyczny dozownik

Bardziej szczegółowo

Laboratorium Programowanie Obrabiarek CNC. Nr H04

Laboratorium Programowanie Obrabiarek CNC. Nr H04 Politechnika Poznańska Instytut Technologii Mechanicznej Laboratorium Programowanie Obrabiarek CNC Nr H04 Programowanie zarysów swobodnych FK Opracował: Dr inŝ. Wojciech Ptaszyński Poznań, 06 stycznia

Bardziej szczegółowo

W powyższym kodzie utworzono wyliczenie dni tygodnia.

W powyższym kodzie utworzono wyliczenie dni tygodnia. Typ wyliczeniowy (zwane również enumeration lub enum) jest to typ danych składający się z zestawu nazwanych wartości. Do zmiennej, która została zadeklarowana jako typ wyliczeniowy może być przypisane

Bardziej szczegółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Wykład 5 Podstawowe techniki programownia w przykładach Janusz Szwabiński Plan wykładu: Metoda babilońska wyliczania pierwiastka Liczby pierwsze i sito Eratostenesa Metoda bisekcji

Bardziej szczegółowo

Diagnostyka obrazowa

Diagnostyka obrazowa Diagnostyka obrazowa Ćwiczenie drugie Podstawowe przekształcenia obrazu 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z podstawowymi przekształceniami obrazu wykonywanymi

Bardziej szczegółowo

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS www.informatyka.edu.pl

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS www.informatyka.edu.pl To jeden z ostatnich odcinków naszego kursu. Mam nadzieję, że pisanie własnego programu było ciekawym doświadczeniem. Zaproponowana w tym odcinku funkcja uatrakcyjni twój program. Stworzymy tak zwane okno

Bardziej szczegółowo

Import danych w formacie txt

Import danych w formacie txt Przewodnik Inżyniera Nr 27 Aktualizacja: 06/2017 Import danych w formacie txt Program powiązany: Fundament bezpośredni Plik GEO5: Demo_manual_27_1.gpa (przykład przygotowany do importu danych) Demo_manual_27_2.gpa

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

1 Temat: Wprowadzenie do biblioteki OpenCV

1 Temat: Wprowadzenie do biblioteki OpenCV Instrukcja Zaawansowane przetwarzanie obrazów 1 Temat: Wprowadzenie do biblioteki OpenCV Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 OpenCV - krótki wstęp OpenCV (Open Source Computer Vision) jest

Bardziej szczegółowo

Python. Wprowadzenie. Jolanta Bachan

Python. Wprowadzenie. Jolanta Bachan Python Wprowadzenie Jolanta Bachan Zainstaluj i przetestuj Pythona https://www.python.org/downloads/ print 'Hello world!' operatory numeryczne: + - * / // % ** operatory porównania: ==!= > < >=

Bardziej szczegółowo

Skaner Mustek Scan Express

Skaner Mustek Scan Express INSTRUKCJA OBSŁUGI Nr produktu 884056 Skaner Mustek Scan Express Strona 1 z 14 Instalacja sterownika skanera TWAIN. Sterownik TWAIN jest modułem skanującym dostarczonym wraz Twoim skanerem. Jest on łatwo

Bardziej szczegółowo

Nasyp przyrost osiadania w czasie (konsolidacja)

Nasyp przyrost osiadania w czasie (konsolidacja) Nasyp przyrost osiadania w czasie (konsolidacja) Poradnik Inżyniera Nr 37 Aktualizacja: 10/2017 Program: Plik powiązany: MES Konsolidacja Demo_manual_37.gmk Wprowadzenie Niniejszy przykład ilustruje zastosowanie

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Tablice. Jones Stygar na tropie zmiennych

Tablice. Jones Stygar na tropie zmiennych Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk

Bardziej szczegółowo