Thông báo lỗi

Notice: Undefined offset: 1 trong counter_get_browser() (dòng 70 của /home/thayphun/viettug.net/modules/counter/counter.lib.inc).

Phối hợp Tikz và Tkz-euclide vẽ hình hạn chế tính toạ độ

Ta có thể vẽ hình 2d minh hoạ cho hình không gian trên Geogebra rồi lấy code tikz. Tuy nhiên, code xuất ra khá dài dòng và có quá nhiều chữ số thập phân.

Sử dụng tikz thuần kết hợp với tkz-euclide, ta có thể xác định trung điểm đoạn thẳng, trọng tâm tam giác, giao điểm của hai đường thẳng, lấy đối xứng, tìm toạ đổ điểm còn lại của một hình bình hành, ... bằng lệnh mà không cần tính toạ độ. Còn nhiều lệnh rất mạnh dùng xác định trực tâm, tâm đường tròn ngoại tiếp và nội tiếp tam giác bằng gói tkz-euclide.

Tkz-euclide còn có sẵn các macro kí hiệu góc vuông, kí hiệu góc không vuông bằng một cung tròn, vẽ dấu gạch kí hiệu 2 đoạn thẳng bằng nhau.

Gói tkz-euclide được viết bởi AlterMundus, một người Pháp. Tài liệu hướng dẫn sử dụng Tkz-euclide chính thống là tiếng Pháp, tiếng Anh rất khan hiếm. Tôi tìm được hiếm hoi một trang hướng dẫn một số lệnh bằng tiếng Anh tại http://www.highschoolmathandchess.com/latex/altermundus-packages/ 

Tài liệu ngắn gọn về Tkz-euclide bằng tiếng Việt: http://viettug.net/sites/default/files/field/share_files/Tkz_euclide_mini.pdf

Dưới đây là code hình một bài tập về xác định tâm mặt cầu ngoại tiếp tứ diện bằng cách xác định giao trục của hai mặt. Ở hình này tôi chỉ khai báo toạ độ 4 đỉnh của tứ diện, các điểm phụ thuộc vẽ sau không phải tính toạ độ nữa.

https://www.overleaf.com/9851098wxrgkzfxjxmx

\documentclass{standalone}
\usepackage{tikz, tkz-euclide}
\usetikzlibrary{calc}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (c) at (6,0);
\coordinate (b) at (2,-2);
\draw (a) node[left]{$A$}--(b) node[below]{$B$}--(c) node[right]{$C$};
\draw [dashed] (a)--(c);
\coordinate (h) at ($(a)!.5!(b)$);
\coordinate (s) at ($(h)+(0,4)$);
\draw (a) --(s) node[above]{$S$};
\draw (s)--(h) node [below left]{$H$};
\draw (b)--(s)--(c);
\coordinate (m) at ($(b)!.5!(c)$);
\draw [dashed] (h)--(m);
\draw (s)--(m) node [below right]{$M$};
\coordinate (g) at ($(s)!2/3!(h)$);
\coordinate (i) at ($(g)+(m)-(h)$);
\coordinate (j) at (intersection of g--i and s--m);
\draw [dashed] (g) node [left]{$G$}--(j);
\coordinate (v) at ($(g)!1.2!(i)$);
\coordinate (t) at ($(m)!2.5!(i)$);
\draw (j)--(v);
\draw (m)--(t);
\draw (i) node [above right] {$I$};
\draw (v) node [right] {$d_2$};
\draw (t) node [left] {$d_1$};
\tkzMarkRightAngle(b,a,c)
\tkzMarkRightAngle(m,h,s)
\tkzMarkRightAngle(a,h,s)
\tkzMarkRightAngle(i,m,h)
\tkzMarkRightAngle(h,g,i)
\end{tikzpicture}
\end{document}

 

Chuyên mục: 
Chia sẻ tài liệu: 
Đính kèmDung lượng
Tập tin tt215_23.tex1.14 KB
PDF icon Tkz_euclide_mini.pdf161.16 KB

Bình luận

Ảnh của tanphu

\documentclass[border=2mm,12pt]{standalone}
\usepackage{fouriernc}
\usepackage{tkz-euclide,amsmath}
\usetkzobj{all}
\tikzset{hidden/.style = {thick, dashed}}
\tikzset{line/.style = {ultra thick}}
\tkzSetUpPoint[fill=black,size=10]
\begin{document}
\begin{tikzpicture}[scale=1]
\tkzDefPoints{0/0/A,
2/-2/B,
6/0/C,
1/4/S}
\tkzDefMidPoint(A,B) \tkzGetPoint{H}
\tkzDefMidPoint(C,B) \tkzGetPoint{M}
\tkzCentroid(A,B,S)\tkzGetPoint{G}
\tkzDrawPoint(G)
\tkzDefPointBy[translation= from H to M ](G) \tkzGetPoint{I}
\tkzDefPointBy[translation= from H to S ](M) \tkzGetPoint{J}
\tkzInterLL(G,I)(S,M) \tkzGetPoint{K}
\tkzLabelPoints[right=2pt](M)
\tkzLabelPoints[right](I)
\tkzLabelPoints[left](A,G)
\tkzLabelPoints[left,below=2pt](H)
\tkzLabelPoints[above](S)
\tkzLabelPoints[below](C,B)
\tkzDrawPoints(S,A,B,C,M,H,G,I)
\tkzText[line](3.5,1){$(d_2)$}
\tkzDrawPolygon[line](S,A,B,C)
\tkzDrawSegments[hidden](A,C M,H G,K)
\tkzDrawSegments[line](S,B S,M S,H K,I)
\tkzDrawLine[thick,end = $(d_1)$](M,J)
\tkzMarkRightAngle[thick](C,A,B)
\tkzMarkRightAngle[thick](S,H,M)
\tkzMarkRightAngle[thick](H,M,I)
\tkzMarkSegments[mark=|,color=black](A,H B,H)
\end{tikzpicture}
\end{document}