Last active 1732003264

Zadanie domowe: program rysujący ślimaka

GGORG revised this gist 1732003264. Go to revision

2 files changed, 71 insertions

kreski.py(file created)

@@ -0,0 +1,40 @@
1 + # Podstawowe importy
2 + import numpy as np
3 + import matplotlib.pyplot as plt
4 + import matplotlib.image as im
5 +
6 +
7 + # Tworzy tablice zer o wymiarach 5x8
8 + tab = np.zeros((5,8))
9 +
10 + # nrows = liczba wierszy, ncols = liczba kolumn (rozpakowywanie krotki)
11 + nrows, ncols = tab.shape
12 +
13 + # najmniejszy wymiar (min z wierszy i kolumn)
14 + min_shape = min(nrows, ncols)
15 +
16 +
17 + # Ustawia trzecia (indeks 2) kolumne na 1
18 + for i in range(nrows):
19 + tab[i][2] = 1
20 +
21 +
22 + # Ustawia czwarty (indeks 3) wiersz na 2
23 + for i in range(ncols):
24 + tab[3][i] = 2
25 +
26 +
27 + # Ustawia "przekatna" z lewego gornego rogu na 3
28 + for i in range(min_shape):
29 + tab[i][i] = 3
30 +
31 +
32 + # Ustawia "przekatna" z lewego gornego rogu na 4
33 + for i in range(min_shape):
34 + tab[i][min_shape - i - 1] = 4
35 +
36 +
37 + # Wyswietla wynik jako obrazek
38 + # Argument cmap to mapa kolorow
39 + plt.imshow(tab, cmap='viridis_r')
40 + plt.show()

ramka.py(file created)

@@ -0,0 +1,31 @@
1 + # Podstawowe importy
2 + import numpy as np
3 + import matplotlib.pyplot as plt
4 + import matplotlib.image as im
5 +
6 +
7 + def gen_ramke(lwier, lkol, kod_koloru = 1):
8 + # Tworzy tablice zer o wymiarach lwier x lkol
9 + tab = np.zeros((lwier, lkol))
10 +
11 + # nrows = liczba wierszy, ncols = liczba kolumn (rozpakowywanie krotki)
12 + nrows, ncols = tab.shape
13 +
14 + # Ustawia prawy i lewy bok na 1
15 + for i in range(nrows):
16 + tab[i][0] = kod_koloru
17 + tab[i][ncols - 1] = kod_koloru
18 +
19 + # Ustawia gorny i dolny bok na 1
20 + for i in range(ncols):
21 + tab[0][i] = kod_koloru
22 + tab[nrows - 1][i] = kod_koloru
23 +
24 + return tab
25 +
26 +
27 + tab = gen_ramke(5, 8, 1)
28 +
29 + # Wyswietla wynik jako obrazek
30 + plt.imshow(tab)
31 + plt.show()
Newer Older