Vẽ sơ đồ Hệ thống bài tập rèn luyện tư duy sáng tạo của Tôn Thân

Đây là một trong những sơ đồ phức tạp nhất mà tôi từng vẽ. Mặc dù chỉ đơn thuần là sơ đồ khối, nhưng việc canh chỉnh độ rộng và vị trí các khối sao cho cân đối mới là thứ phiền toái, mất thời gian.

Để giảm bớt sự khô khan của bộ môn cũng như sự rối rắm của sơ đồ này, tôi có phối màu và thêm bóng mờ cho các khối. Dưới đây là code hoàn chỉnh, được vẽ bằng gói lệnh Tikz trong LaTeX.

\begin{tikzpicture}[node distance=1.5cm, every node/.style={fill=white}, align=center]
	\tikzset{>={Latex[width=2mm,length=2mm]}, base/.style = {rectangle, rounded corners, draw=black, minimum width=1cm, minimum height=1cm, text centered, drop shadow={shadow xshift=0.6mm, shadow yshift=-0.6mm}},
		Style1/.style = {base, fill=diagram_bg_blue, draw=diagram_bd_blue},
		Style2/.style = {base, fill=diagram_bg_pink, draw=diagram_bd_pink},
		Style3/.style = {base, fill=diagram_bg_green, draw=diagram_bd_green},
		Style4/.style = {base, minimum width=2.5cm, fill=orange!15, draw=orange},
	}
	\node (B0) [Style1, text width=1cm] {Tư duy sáng tạo};
	\node (B1) [Style2, right of=B0, xshift=1cm, yshift=6cm, text width=1.5cm] {Tính mềm \,\,\,dẻo\,\,\, (A)};
	\node (B2) [Style2, right of=B0, xshift=1cm, text width=1.5cm] {Tính nhuần nhuyễn (B)};
	\node (B3) [Style2, right of=B0, xshift=1cm, yshift=-6cm, text width=1.5cm] {Tính độc \,\,\,đáo\,\,\, (C)};
	\node (B11) [Style3, right of=B1, xshift=4cm, yshift=1.6cm, text width=7cm] {Dễ dàng chuyển từ hoạt động trí tuệ này sang hoạt động trí tuệ khác};
	\node (B12) [Style3, right of=B1, xshift=4cm, text width=7cm] {Suy nghĩ không rập khuôn};
	\node (B13) [Style3, right of=B1, xshift=4cm, yshift=-2cm, text width=7cm] {Nhìn vấn đề mới trong điều kiện quen thuộc, nhìn thấy chức năng mới của đối tượng quen biết};
	\node (B21) [Style3, right of=B2, xshift=4cm, yshift=1cm, text width=7cm] {Khả năng tìm được nhiều giải pháp trên nhiều gốc độ và tình huống khác nhau};
	\node (B22) [Style3, right of=B2, xshift=4cm, yshift=-1.2cm, text width=7cm] {Khả năng xem xét đối tượng dưới những khía cạnh khác nhau};
	\node (B31) [Style3, right of=B3, xshift=4cm, yshift=2.2cm, text width=7cm] {Khả năng tìm ra những liên tưởng và những kết hợp mới};
	\node (B32) [Style3, right of=B3, xshift=4cm, text width=7cm] {Nhìn ra những mối liên hệ trong những sự kiện bên ngoài tưởng như không có liên hệ với nhau};
	\node (B33) [Style3, right of=B3, xshift=4cm, yshift=-2.2cm, text width=7cm] {Khả năng tìm ra giải pháp lạ tuy có biết những giải pháp khác};
	\node (B01) [Style4, right of=B11, xshift=5cm, yshift=1.4cm, text width=3.5cm] {BT có nhiều cách giải};
	\node (B02) [Style4, right of=B11, xshift=5cm, yshift=-0.3cm, text width=3.5cm] {BT có nội dung biến đổi};
	\node (B03) [Style4, right of=B12, xshift=5cm, yshift=-0.3cm, text width=3.5cm] {BT khác kiểu};
	\node (B04) [Style4, right of=B13, xshift=5cm, yshift=0.4cm, text width=3.5cm] {BT thuận nghịch};
	\node (B05) [Style4, right of=B13, xshift=5cm, yshift=-0.9cm, text width=3.5cm] {BT có tính đặc thù};
	\node (B06) [Style4, right of=B13, xshift=5cm, yshift=-2.2cm, text width=3.5cm] {BT mở};
	\node (B07) [Style4, right of=B21, xshift=5cm, yshift=-1.3cm, text width=3.5cm] {BT có nhiều kết quả};
	\node (B08) [Style4, right of=B22, xshift=5cm, yshift=-0.7cm, text width=3.5cm] {BT câm};
	\node (B09) [Style4, right of=B32, xshift=5cm, yshift=1cm, text width=3.5cm] {BT không theo mẫu};
	\node (B010) [Style4, right of=B33, xshift=5cm, yshift=1.5cm, text width=3.5cm] {Toán vui, ngụy biện, câu đố};
							
	\draw[->] (B0) -- (B1.west);
	\draw[->] (B0) -- (B2.west);
	\draw[->] (B0) -- (B3.west);
	\draw[->] (B1) -- (B11.west);
	\draw[->] (B1) -- (B12);
	\draw[->] (B1) -- (B13.west);
	\draw[->] (B2) -- (B21.west);
	\draw[->] (B2) -- (B22.west);
	\draw[->] (B3) -- (B31.west);
	\draw[->] (B3) -- (B32);
	\draw[->] (B3) -- (B33.west);
							
	\draw[->] (B01.west) -- (B11.north east);
	\draw[->] (B02.west) -- ([yshift=2mm]B11.east);
	\draw[->] (B03.north west) -- ([yshift=-2mm]B11.east);
	\draw[->] (B04.north west) -- (B11.south east);
	\draw[->] (B03.west) -- (B12.east);
	\draw[->] (B05.north west) -- (B12.south east);
	\draw[->] (B06.north west) -- (B13.east);
	\draw[->] (B07.north west) -- (B21.east);
	\draw[->] (B07.west) -- ([yshift=2mm]B22.east);
	\draw[->] (B08.west) -- ([yshift=-2mm]B22.east);
	\draw[->] (B09.north west) -- (B31.east);
	\draw[->] (B09.west) -- ([yshift=2mm]B32.east);
	\draw[->] (B010.north west) -- (B31.south east);
	\draw[->] (B010.west) -- ([yshift=-2mm]B32.east);
	\draw[->] (B010.west) -- ([yshift=2mm]B33.east);
	\draw[->] (B01.east) -| ([shift={(5.5cm,-2mm)}]B33.east) -- ([yshift=-2mm]B33.east);
	\draw[->] (B010.east) -| ([shift={(5.1cm,4mm)}]B12.east) -- ([yshift=4mm]B12.east);
\end{tikzpicture}

Cần lưu ý là màu sắc được sử dụng trong đoạn code này là được tôi tự định nghĩa theo mã RGB, nếu không muốn dùng thì bạn đọc có thể bỏ đi hoặc thay bằng màu khác. Nếu thấy màu này vừa mắt thì có thể thêm mấy dòng code sau vào phần đầu của tài liệu (trước \begin{document}):

\definecolor{diagram_bg_green}{HTML}{d5e8d4}
\definecolor{diagram_bg_blue}{HTML}{dae8fc}
\definecolor{diagram_bg_pink}{HTML}{f8cecc}
\definecolor{diagram_bd_green}{HTML}{82b366}
\definecolor{diagram_bd_blue}{HTML}{7494c2}
\definecolor{diagram_bd_pink}{HTML}{b85450}

Ngoài ra, cũng cần chú ý việc khai báo thư viện vẽ hình để tránh bị lỗi. Bạn đọc tham khảo danh sách thư viện dưới đây, khá đầy đủ để sử dụng:

\usetikzlibrary{calc, angles, quotes, intersections, positioning, patterns, shadows, fit, decorations.pathreplacing, arrows.meta}

Chúc các bạn thành công và hài lòng với bài viết này!

Bình luận

Chia sẻ