UNIKALNY ROZKŁAD KROPEK

Post on 04-Feb-2016

58 views 0 download

description

UNIKALNY ROZKŁAD KROPEK. Katarzyna Basiukajc Krzysztof Waśko Maciej Zalewski Rafał Witkowski Uniwersytet im. Adama Mickiewicza w Poznaniu Toruń, 11 kwietnia 2013. Geneza problemu. Poznańskie Praktyki Badawcze 2012 3-28 września 2012, WMiI, UAM Industrial mathematics - PowerPoint PPT Presentation

Transcript of UNIKALNY ROZKŁAD KROPEK

UNIKALNY ROZKŁADKROPEKKatarzyna Basiukajc

Krzysztof WaśkoMaciej ZalewskiRafał Witkowski

Uniwersytet im. Adama Mickiewicza w PoznaniuToruń, 11 kwietnia 2013

Poznańskie Praktyki Badawcze 2012 3-28 września 2012, WMiI, UAM Industrial mathematics Rozwiązywanie problemów

praktyczych Kontakty środowiska naukowego

i akademickiego

Geneza problemu

IC Solutions Zleceniodawca projektu Poznańska firma zajmująca się

innowacyjnymi rozwiązaniami w branży IT w tym między innymi rozpoznawaniem mowy, czy długopisami cyfrowymi

Geneza problemu

• System zbierania danych

IC Pen

• IC Pen to system gromadzenia danych:– Ankiety online– Ankiety terenowe– Formularze

papierowe• Nie jest to system do

obiegu dokumentów, tylko dostępu do dokumentów

Technologia

• Długopis cyfrowy– Procesor ARM9– Pamięć flash– Kamera CCD– Pełna programowalność

• Możliwość zapamiętania wszystkiego co zostało napisane

Technologia

• Zakropkowany papier– Niewidzialne dla oka tło– Praktycznie

nieograniczona liczba różnych stron

– Pola aktywne– Do druku wystarczy

drukarka 600 dpi (praktycznie każda)

Postawiony problem• Algorytm drukowania

(kodowania) i odczytywania (dekodowania) kartek.

• Znalezienie takiego sposobu rozkładu kropek na płaszczyźnie, aby można było korzystać z długopisów cyfrowych, a możliwych kartek (zajmowany obszar) było jak najwięcej

Sposób pierwszy

Oznaczenia kropek: 0 – right 1 – down 2 – left 3 – up

Oznaczenie kropek

http

://ww

w.an

oto.

com

/the-

pape

r-3.a

spx

Powierzchnia

CelCelem jest zakodowanie jak największej liczby kartekpoprzez stworzenie algorytmu kodującego współrzędne (x,y) na jedną z pozycji kropek (góra, dół, prawo, lewo) w taki sposób, aby móc zdefiniować i dobrze określić następującą funkcję dekodującą:

Ograniczenia - obroty0 0 0 0 0 0 0 0 x 00 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 x 0 0 0 0 0x 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 x 0 0

1 1 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1 2 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 2 1 1 1 1 11 1 1 1 0 1 1 1 1 10 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 0 1 1

Ograniczenia – nakładanie się kwadratów

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 …

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Orientacja kartkix

xx

x

Początki kodowania

Współrzędna Xa b c d e

x

xx

x

Współrzędna Xf g h i j

x

xx

x

Przykład0 0 0 0 0 0 0 0 x 10 0 0 0 1 0 0 0 1 10 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 1 1 0 0 0 1 00 0 0 1 x 0 0 0 0 0x

x

Współrzędna Y x

x

x A

B F

C E

D x

x

x

x A

B

C

x

Początek układu1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …

1 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 02 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 03 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 04 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 06 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 07 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 09 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 010 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 011 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 012 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 013 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 015 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 016 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 017 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 018 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 019 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 020 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0…

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 …

0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 02 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 03 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 04 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 05 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 06 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 09 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 010 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 011 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 012 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 013 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 015 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 016 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 017 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 018 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 019 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0…

Przesunięcie

0 0 0 0 0 0 0 0 x 00 0 0 0 x 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 x 0 0 0 0 0 0 0 00 0 x 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0

Przesunięcie

g h i j a b c d e f0 0 0 0 0 0 0 0 x 00 0 0 0 x 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 x 0 0 0 0 0 0 0 00 0 x 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0

Odczytanie współrzędnych - x

g h i j a b c d e f0 0 0 0 x 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 x 0 0 0 0 0 0 0 00 0 x 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 x 0

a b c d e f g h i j0 0 0 0 0 0 0 0 x 0x 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 x 0 00 0 0 0 0 0 0 0 x 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0

Odczytanie współrzędnych - y

Współrzędne w poziomie: Współrzędnie w pionie: Wymiary kartki: Liczba kartek:

Ile kartek

http://www.mapy-mysli.com/images/kartka.jpg

Sposób drugi

CelCelem jest zakodowanie jak największej liczby kartekpoprzez stworzenie algorytmu kodującego współrzędne (x,y,z) (gdzie 0<=x<=72, 0<=y<=96) na jedną z pozycji kropek (góra, dół, prawo, lewo) w taki sposób, aby móc zdefiniować i dobrze określić następującą funkcję dekodującą:

g⊂

Powierzchnia kartki

Wyznaczamy obszar stanowiący połowę

kwadratu (np. trójkąt):

1 2 5 64 3

3 45 6 1 2

Kopia zapasowa

Powierzchnia kartki

II IIII II

II IIII II

Znacznik

II IIII II

II IIII II

Zauważmy, że…

Kropki nr II

Na pozycjach X możemy wstawić 0,1.

Na pozycjach Y możemy wstawić 0,1,2.

Dostajemy w ten sposób 9216 kwadratów.

Kodowanie

XX

XXX

X X X Y X YX

Na pozycjach Z kodujemy numer kartki.

Daje to kartek.

Kodowanie

ZZ Z ZZ Z Z Z

Z Z Z Z ZZ Z Z Z Z

Z Z Z Z Z Z ZZ Z

Z Z Z Z Z Z Z

Obroty

http://brain.fuw.edu.pl/edu/Plik:Obr%C3%B3t_uk%C5%82adu_wsp%C3%B3%C5%82rz%C4%99dnych.png

Pętla:◦ Szukamy kropki III◦ Jeśli ją znajdziemy, szukamy kropki nr II, w przeciwnym wypadku kończymy

pętlę◦ Jeśli ją znajdziemy, szukamy kropki nr I◦ Jeśli ją znajdziemy, szukamy kropki nr 0◦ Jeśli ją znajdziemy, program sygnalizuje błąd

Jeśli brakuje kropki numer:◦ III – nie rób nic◦ II – tworzymy nowy kwadrat i wklejamy od prawej strony do skrajnej wolnej

kolumny najwyższy wiersz zeskanowanego kwadratu; następnie do każdego numeru kropki dodajemy I (mod IV)

◦ I – do każdej kropki dodajemy II (mod IV), oraz odwracamy kolejność wierszy i kolumn

◦ 0 – tworzymy analogiczny kwadrat jak przy braku II, tylko odwracamy kolejność numerów w wierszach i wklejamy od lewej strony i dodajemy III (mod IV)

Obroty – zarys procedury

II IIII II

II IIII II

Przesunięcia

Przesunięcia

Liczba kwadratów na kartce A4 : 6930 Liczba kwadratów na kartkach, które

kodujemy: 9216 Liczba kartek: 222 * 312 ~

Ile kartek

http://www.mapy-mysli.com/images/kartka.jpg

Dziękujemy za uwagę.