TikZ là một gói mở rộng mạnh mẽ của LaTeX, cho phép bạn tạo ra các hình ảnh vector phức tạp và đẹp mắt. Một trong những thao tác cơ bản và quan trọng là tô màu các vùng khác nhau trong hình vẽ. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, dễ hiểu về cách tô màu vùng trong TikZ, đặc biệt dành cho những người mới bắt đầu. Chúng ta sẽ khám phá các phương pháp khác nhau để kiểm soát chính xác khu vực được tô màu, từ đó tạo ra những hình ảnh minh họa rõ ràng và chuyên nghiệp.
Trước khi đi sâu vào các lệnh tô màu, điều quan trọng là phải hiểu rõ khái niệm về "vùng" trong TikZ. Về cơ bản, một vùng là bất kỳ khu vực nào được bao bọc bởi một đường dẫn khép kín. Đường dẫn này có thể được tạo thành từ các đoạn thẳng, đường cong, hoặc kết hợp của cả hai. Khi bạn tô màu một vùng, TikZ sẽ lấp đầy toàn bộ khu vực bên trong đường dẫn này bằng màu sắc bạn chỉ định.
TikZ cung cấp một số lệnh để tô màu vùng, mỗi lệnh có những ưu điểm và ứng dụng riêng. Dưới đây là một số phương pháp phổ biến nhất:
\fill
Lệnh \fill
là cách đơn giản nhất để tô màu một vùng. Bạn chỉ cần chỉ định đường dẫn và màu sắc muốn sử dụng. Ví dụ:
\begin{tikzpicture}
\draw (0,0) -- (2,0) -- (1,2) -- cycle;
\fill[red!50] (0,0) -- (2,0) -- (1,2) -- cycle;
\end{tikzpicture}
Đoạn code trên sẽ vẽ một tam giác và sau đó tô màu tam giác đó bằng màu đỏ nhạt (50% red). Lưu ý, cycle
đảm bảo đường dẫn khép kín.
\draw
Với Tùy Chọn fill
Bạn cũng có thể sử dụng lệnh \draw
và thêm tùy chọn fill
để vừa vẽ đường dẫn, vừa tô màu vùng. Cách này hữu ích khi bạn muốn đường viền và vùng tô màu có màu sắc khác nhau:
\begin{tikzpicture}
\draw[blue, fill=green!20] (0,0) circle (1cm);
\end{tikzpicture}
Đoạn code này sẽ vẽ một hình tròn màu xanh lam và tô màu bên trong bằng màu xanh lá cây nhạt (20% green).
\filldraw
Lệnh \filldraw
là sự kết hợp của \fill
và \draw
, cho phép bạn tô màu và vẽ đường viền cùng một lúc. Bạn có thể chỉ định màu sắc riêng cho đường viền và vùng tô:
\begin{tikzpicture}
\filldraw[fill=yellow, draw=orange, line width=1pt] (0,0) rectangle (2,1);
\end{tikzpicture}
Đoạn code này sẽ vẽ một hình chữ nhật màu vàng, có đường viền màu cam, dày 1pt.
Đôi khi, bạn cần tô màu các vùng phức tạp hơn, ví dụ như vùng được giới hạn bởi nhiều đường dẫn giao nhau. TikZ cung cấp các quy tắc để xác định khu vực nào sẽ được tô màu trong những trường hợp này.
even odd rule
)Quy tắc Even-Odd xác định vùng tô màu dựa trên số lần một tia từ một điểm bất kỳ cắt đường dẫn. Nếu số lần cắt là lẻ, điểm đó nằm trong vùng tô màu; nếu số lần cắt là chẵn, điểm đó nằm ngoài vùng tô màu. Điều này hữu ích để tạo ra các hình có "lỗ".
\begin{tikzpicture}
\fill[red, even odd rule] (0,0) circle (1cm) (0,0) circle (0.5cm);
\end{tikzpicture}
Đoạn code này sẽ tạo ra một hình tròn màu đỏ với một lỗ tròn ở giữa.
Quy tắc Nonzero Winding Number (số vòng khác 0) là quy tắc mặc định của TikZ. Nó phức tạp hơn Even-Odd, xem xét hướng của đường dẫn. Khi một tia cắt đường dẫn theo chiều kim đồng hồ, số vòng tăng lên; khi cắt ngược chiều kim đồng hồ, số vòng giảm xuống. Nếu số vòng cuối cùng khác 0, điểm đó nằm trong vùng tô màu. Quy tắc này hữu ích khi làm việc với các đường dẫn phức tạp, tự giao nhau.
cycle
để đảm bảo điều này.Hy vọng với hướng dẫn này, bạn đã có thể tự tin tô màu vùng trong TikZ và tạo ra những hình ảnh minh họa đẹp mắt cho tài liệu LaTeX của mình. Hãy thử nghiệm với các lệnh và tùy chọn khác nhau để khám phá thêm nhiều khả năng thú vị của TikZ!
Bài viết liên quan