Lưới hình bình hành

Lượt xem: 27

Description

Bài toán 1: Các dấu chấm (•) chia các cạnh của ΔABC và ΔDEF thành ba phần bằng nhau. Tìm tỉ số diện tích của phần tô màu và diện tích của ΔABC?

Thầy Nguyen Van Loi gợi ý bài toán ngược thú vị

Bài toán 2: Cho hinh tam giác nhỏ nhất bên trong. Hãy dựng tam giác ABC bên ngoài.

Kỹ thuật tikz của bài toán 2 khá hay. Lệnh lưới grid của tikz không dùng được. Lênh \tkzDrawLines và tùy chọn dịch chuyển translation trong tkz-euclide không dùng được. Thay vào đó, ta phải dùng dịch chuyển bằng tay (thư viện calc). Với loại lưới hình bình hành, rất nên tinh chỉnh vị trí nhãn điểm. Đây cũng là hình vẽ dùng lệnh \clip một cách tự nhiên.

 

Mã lệnh tikz

\documentclass[tikz]{standalone}
\renewcommand{\familydefault}{\sfdefault}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture} [line join=round, line cap=round]
% Các điểm ban đầu của tam giác ABC
\coordinate (B) at (-1.5,0);
\coordinate (C) at (5,0);
\coordinate (A) at (0,4);

% Lấy D là sao cho AD=1/3AB
% Tương tự cho E,F. 
% Lặp lại với tam giác DEF để lấy M,N,P
\path let \p1 =($(A)-(B)$),
          \n1 = {veclen(\x1,\y1)} in
      coordinate (D) at ($(A)!\n1/3!(B)$)
      coordinate (D1) at ($(A)!2*\n1/3!(B)$);

\path let \p1 =($(B)-(C)$),
          \n1 = {veclen(\x1,\y1)} in 
      coordinate (E) at ($(B)!\n1/3!(C)$)
      coordinate (E1) at ($(B)!2*\n1/3!(C)$);

\path let \p1 =($(C)-(A)$),
          \n1 = {veclen(\x1,\y1)} in
      coordinate (F) at ($(C)!\n1/3!(A)$)
      coordinate (F1) at ($(C)!2*\n1/3!(A)$);

\path let \p1 =($(D)-(E)$),
          \n1 = {veclen(\x1,\y1)} in
      coordinate (M) at ($(D)!\n1/3!(E)$)
      coordinate (M1) at ($(D)!2*\n1/3!(E)$);

\path let \p1 =($(E)-(F)$),
          \n1 = {veclen(\x1,\y1)} in
      coordinate (N) at ($(E)!\n1/3!(F)$)
      coordinate (N1) at ($(E)!2*\n1/3!(F)$);

\path let \p1 =($(F)-(D)$),
          \n1 = {veclen(\x1,\y1)} in
      coordinate (P) at ($(F)!\n1/3!(D)$)
      coordinate (P1) at ($(F)!2*\n1/3!(D)$);

\fill[yellow] (D)--(P)--(M)--cycle 
              (E)--(M)--(N)--cycle
              (F)--(N)--(P)--cycle;

% clip lưới ô hình bình hành
\clip (-2.5,-1) rectangle (6,5);

% Nối các cạnh
\draw (M)--(N)--(P)--cycle 
      (D)--(E)--(F)--cycle 
      (A)--(B)--(C)--cycle;

\foreach \p in{A,B,C,D,E,F,M,N,P,D1,E1,F1,M1,N1,P1} 
     \fill[black] (\p) circle(1.2pt);

% Tinh chỉnh nhãn điểm
\draw (A) node[shift=(70:8pt)]{A};
\draw (B) node[shift=(-100:8pt)]{B};
\draw (C) node[shift=(-20:8pt)]{C};
\draw (D) node[shift=(160:8pt)]{D};
\draw (E) node[shift=(-100:8pt)]{E};
\draw (F) node[shift=(70:8pt)]{F};
\end{tikzpicture}
\begin{tikzpicture} [line join=round, line cap=round]
\fill[yellow] (D)--(P)--(M)--cycle 
(E)--(M)--(N)--cycle
(F)--(N)--(P)--cycle;

% clip lưới ô hình thoi
\clip (-2.5,-1) rectangle (6,5);

% Vẽ lưới xiên
\coordinate (x) at ($(N)-(E)$);
\foreach \i in {-4,...,5}
\draw[blue!30] ($(A)!2!(N)+\i*(x)$)--($(A)!-.5!(N)+\i*(x)$);

\coordinate (y) at ($(P)-(F)$);
\foreach \i in {-4,...,4}
\draw[blue!30] ($(B)!3!(P)+\i*(y)$)--($(B)!-.5!(P)+\i*(y)$);

% Nối các cạnh
\draw (M)--(N)--(P)--cycle 
(D)--(E)--(F)--cycle 
(A)--(B)--(C)--cycle;

\foreach \p in{A,B,C,D,E,F,M,N,P,D1,E1,F1,M1,N1,P1} 
\fill[black] (\p) circle(1.2pt);

% Tinh chỉnh nhãn điểm
\draw (A) node[shift=(70:8pt)]{A};
\draw (B) node[shift=(-100:8pt)]{B};
\draw (C) node[shift=(-20:8pt)]{C};
\draw (D) node[shift=(160:8pt)]{D};
\draw (E) node[shift=(-100:8pt)]{E};
\draw (F) node[shift=(70:8pt)]{F};
\end{tikzpicture}
\end{document}