1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
%
% sbox.tex -- template for standalon tikz images
%
% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
%
\documentclass[tikz]{standalone}
\usepackage{amsmath}
\usepackage{times}
\usepackage{txfonts}
\usepackage{pgfplots}
\usepackage{csvsimple}
\usetikzlibrary{arrows,intersections,math}
\begin{document}
\def\skala{1}
\begin{tikzpicture}[>=latex,thick,scale=\skala]
\def\s{0.2}
\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})}
\definecolor{b}{rgb}{0,0,0}
\definecolor{w}{rgb}{1,1,1}
\def\feld#1#2#3{
\fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)};
}
\def\zeile#1#2#3#4#5#6#7#8#9{
\feld{0}{#1}{#2}
\feld{1}{#1}{#3}
\feld{2}{#1}{#4}
\feld{3}{#1}{#5}
\feld{4}{#1}{#6}
\feld{5}{#1}{#7}
\feld{6}{#1}{#8}
\feld{7}{#1}{#9}
}
\def\inverse#1#2#3#4#5#6#7#8#9{
\feld{8}{#1}{#2}
\feld{9}{#1}{#3}
\feld{10}{#1}{#4}
\feld{11}{#1}{#5}
\feld{12}{#1}{#6}
\feld{13}{#1}{#7}
\feld{14}{#1}{#8}
\feld{15}{#1}{#9}
}
\def\rechteck{
\draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s});
\draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s});
}
\def\pivot#1#2{
\draw[color=red,line width=1.2pt]
\punkt{(#1+\inset)}{(#2-\inset)}
rectangle
\punkt{(#1+1-\inset)}{(#2-1+\inset)};
}
\def\inset{0.1}
\def\cleanup#1#2#3{
\pgfmathparse{(#3-#2)/abs(#3-#2)}
\xdef\signum{\pgfmathresult}
\draw[color=blue!50,line width=1.2pt]
\punkt{(#1+\inset)}{#3}
--
\punkt{(#1+\inset)}{(#2-1+\inset*\signum)}
--
\punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)}
--
\punkt{(#1+1-\inset)}{#3}
;
}
\begin{scope}
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1bbwwwbbb \inverse1wbwwwwww
\zeile2bbbwwwbb \inverse2wwbwwwww
\zeile3bbbbwwwb \inverse3wwwbwwww
\zeile4bbbbbwww \inverse4wwwwbwww
\zeile5wbbbbbww \inverse5wwwwwbww
\zeile6wwbbbbbw \inverse6wwwwwwbw
\zeile7wwwbbbbb \inverse7wwwwwwwb
\rechteck
\pivot{0}{0}
\cleanup{0}{1}{7}
\end{scope}
\begin{scope}[xshift=4cm]
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wbbwbbww \inverse2bwbwwwww
\zeile3wbbbbbbw \inverse3bwwbwwww
\zeile4wbbbwbbb \inverse4bwwwbwww
\zeile5wbbbbbww \inverse5wwwwwbww
\zeile6wwbbbbbw \inverse6wwwwwwbw
\zeile7wwwbbbbb \inverse7wwwwwwwb
\rechteck
\pivot{1}{1}
\cleanup{1}{2}{7}
\end{scope}
\begin{scope}[xshift=8cm]
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwbbwbbw \inverse3wbwbwwww
\zeile4wwbbbbbb \inverse4wbwwbwww
\zeile5wwbbwbww \inverse5bbwwwbww
\zeile6wwbbbbbw \inverse6wwwwwwbw
\zeile7wwwbbbbb \inverse7wwwwwwwb
\rechteck
\pivot{2}{2}
\cleanup{2}{3}{7}
\end{scope}
\begin{scope}[xshift=12cm,yshift=0cm]
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwbw \inverse3wwbbwwww
\zeile4wwwbbwbb \inverse4wwbwbwww
\zeile5wwwbwwww \inverse5bwbwwbww
\zeile6wwwbbwbw \inverse6wbbwwwbw
\zeile7wwwbbbbb \inverse7wwwwwwwb
\rechteck
\pivot{3}{3}
\cleanup{3}{4}{7}
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{8}{7} -- \punkt{8}{11};
\end{scope}
\begin{scope}[xshift=12cm,yshift=-2.4cm]
\draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwbw \inverse3wwbbwwww
\zeile4wwwwbwwb \inverse4wwwbbwww
\zeile5wwwwwwbw \inverse5bwwbwbww
\zeile6wwwwbwww \inverse6wbwbwwbw
\zeile7wwwwbbwb \inverse7wwbbwwwb
\rechteck
\pivot{4}{4}
\cleanup{4}{5}{7}
\end{scope}
\begin{scope}[xshift=8cm,yshift=-2.4cm]
\draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwbw \inverse3wwbbwwww
\zeile4wwwwbwwb \inverse4wwwbbwww
\zeile5wwwwwwbw \inverse5bwwbwbww
\zeile6wwwwwwwb \inverse6wbwwbwbw
\zeile7wwwwwbww \inverse7wwbwbwwb
\rechteck
\end{scope}
\begin{scope}[xshift=4cm,yshift=-2.4cm]
\draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbbbb \inverse0bwwwwwww
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwbw \inverse3wwbbwwww
\zeile4wwwwbwwb \inverse4wwwbbwww
\zeile5wwwwwbww \inverse5wwbwbwwb
\zeile6wwwwwwbw \inverse6bwwbwbww
\zeile7wwwwwwwb \inverse7wbwwbwbw
\rechteck
\cleanup{7}{7}{-1}
\end{scope}
\begin{scope}[xshift=0cm,yshift=-2.4cm]
\zeile0bwwwbbbw \inverse0bbwwbwbw
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwbw \inverse3wwbbwwww
\zeile4wwwwbwww \inverse4wbwbwwbw
\zeile5wwwwwbww \inverse5wwbwbwwb
\zeile6wwwwwwbw \inverse6bwwbwbww
\zeile7wwwwwwwb \inverse7wbwwbwbw
\rechteck
\cleanup{6}{6}{-1}
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{8}{7} -- \punkt{8}{11};
\end{scope}
\begin{scope}[xshift=0cm,yshift=-4.8cm]
\zeile0bwwwbbww \inverse0wbwbbbbw
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwbww \inverse2wbbwwwww
\zeile3wwwbwwww \inverse3bwbwwbww
\zeile4wwwwbwww \inverse4wbwbwwbw
\zeile5wwwwwbww \inverse5wwbwbwwb
\zeile6wwwwwwbw \inverse6bwwbwbww
\zeile7wwwwwwwb \inverse7wbwwbwbw
\rechteck
\cleanup{5}{5}{-1}
\end{scope}
\begin{scope}[xshift=4cm,yshift=-4.8cm]
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwbwww \inverse0wbbbwbbb
\zeile1wbwwbwww \inverse1bbwwwwww
\zeile2wwbwwwww \inverse2wbwwbwwb
\zeile3wwwbwwww \inverse3bwbwwbww
\zeile4wwwwbwww \inverse4wbwbwwbw
\zeile5wwwwwbww \inverse5wwbwbwwb
\zeile6wwwwwwbw \inverse6bwwbwbww
\zeile7wwwwwwwb \inverse7wbwwbwbw
\rechteck
\cleanup{4}{4}{-1}
\end{scope}
\begin{scope}[xshift=8cm,yshift=-4.8cm]
\draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
\punkt{-4}{3} -- \punkt{0}{3};
\zeile0bwwwwwww \inverse0wwbwwbwb
\zeile1wbwwwwww \inverse1bwwbwwbw
\zeile2wwbwwwww \inverse2wbwwbwwb
\zeile3wwwbwwww \inverse3bwbwwbww
\zeile4wwwwbwww \inverse4wbwbwwbw
\zeile5wwwwwbww \inverse5wwbwbwwb
\zeile6wwwwwwbw \inverse6bwwbwbww
\zeile7wwwwwwwb \inverse7wbwwbwbw
\rechteck
\end{scope}
\end{tikzpicture}
\end{document}
|