Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [TeX, TikZ] логические схемы. / 2 сообщений из 2, страница 1 из 1
13.09.2011, 22:14
    #37439063
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[TeX, TikZ] логические схемы.
И опять я занимаюсь рисованием...
Итак: дана формула:

Надо нарисовать по ней схему.

Пока дошел до вот этого:
Код: plaintext
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.
%\usetikzlibrary{circuits.logic.US}

\begin{tikzpicture}[circuit logic US,
                    tiny circuit symbols,
                    every circuit symbol/.style={
                                                 fill=white,draw}
                   ]
\matrix[column sep=13mm, row sep=3mm] {
                   & \node [and gate, inputs=iin] (axyZ) {}; &  \\
	\node (X) {X}; & \node [and gate, inputs=ini] (axYz) {}; &  \\
	\node (Y) {Y}; & \node [and gate, inputs=nii] (aXyz) {}; &  \node [or gate, inputs=nnnnn] (oF) {}; \\
	\node (Z) {Z}; & \node [and gate, inputs=nin] (aXyZ) {}; &  \\
                   & \node [and gate, inputs=nnn] (aXYZ) {}; &  \\
};

\draw (X.east) -- ++(right:3mm) |- (axyZ.input 1);
\draw (Y.east) -- ++(right:6mm) |- (axyZ.input 2);
\draw (Z.east) -- ++(right:9mm) |- (axyZ.input 3);

\draw (X.east) -- ++(right:3mm) |- (axYz.input 1);
\draw (Y.east) -- ++(right:6mm) |- (axYz.input 2);
\draw (Z.east) -- ++(right:9mm) |- (axYz.input 3);

\draw (X.east) -- ++(right:3mm) |- (aXyz.input 1);
\draw (Y.east) -- ++(right:6mm) |- (aXyz.input 2);
\draw (Z.east) -- ++(right:9mm) |- (aXyz.input 3);

\draw (X.east) -- ++(right:3mm) |- (aXyZ.input 1);
\draw (Y.east) -- ++(right:6mm) |- (aXyZ.input 2);
\draw (Z.east) -- ++(right:9mm) |- (aXyZ.input 3);

\draw (X.east) -- ++(right:3mm) |- (aXYZ.input 1);
\draw (Y.east) -- ++(right:6mm) |- (aXYZ.input 2);
\draw (Z.east) -- ++(right:9mm) |- (aXYZ.input 3);


\draw (axyZ.east) -- ++(right:9mm) |- (oF.input 1);
\draw (axYz.east) -- ++(right:6mm)  |- (oF.input 2);
\draw (aXyz.east) -- ++(right:3mm)  |- (oF.input 3);
\draw (aXyZ.east) -- ++(right:6mm)  |- (oF.input 4);
\draw (aXYZ.east) -- ++(right:9mm)  |- (oF.input 5);

\draw (oF.east) -- ++(right:3mm);
\end{tikzpicture}
Вроде симпатично, но смущают пересечения проводов. Не везде видно где какой провод. Надо бы нарисовать в местах пересечения жирные точки, но не соображу как.

Если будут замечания по общему расположению элементов - тоже давайте.
...
Рейтинг: 0 / 0
26.09.2011, 21:20
    #37456390
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[TeX, TikZ] логические схемы.
А как нарисовать мультиплексор?
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [TeX, TikZ] логические схемы. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]