我想在 tikz 中绘制三角形的垂心。因此,我尝试在 Geogebra 中绘制它,然后尝试生成 tikz 代码,但它给出了错误消息。
我的问题是,
如何在 tikz 中绘制一个有垂心的三角形(如果可能的话,请告诉我如何按照我尝试的方式完成任务)?
如果我尝试在 Geogebra 中绘制上述图形,会出现一些我们不需要的线条。如何在 tikz 中绘制时删除这些线条?
答案1
我不懂 GeoGebra,但下面介绍了如何仅使用 Tikz 来完成此操作。
我添加了角度代码以显示直角(它们会自动显示,四舍五入为 0 个小数)。
输出
代码
\documentclass[margin=10pt]{standalone}
\usepackage{tikz, tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate[label=left:{$A$}] (A) at (0,0);
\coordinate[label=right:{$B$}] (B) at (6,0);
\coordinate[label=above:{$C$}] (C) at (3,6);
\draw[very thick] (A) -- (B) -- (C) -- cycle;
\coordinate (a) at ($(B)!(A)!(C)$);
\coordinate (b) at ($(A)!(B)!(C)$);
\coordinate (c) at ($(A)!(C)!(B)$);
\draw[dashed] (A) -- (a);
\draw[dashed] (B) -- (b);
\draw[dashed] (C) -- (c);
\coordinate [label=45:$O$] (O) at (intersection of A--a and B--b);
\fill (O) circle (1pt);
% showing the angles
\tkzFindAngle(A,a,C)
\tkzFindAngle(C,c,A)
\tkzFindAngle(B,b,C)
\tkzGetAngle{angleAaC}; \FPround\angleAaC\angleAaC{0}
\tkzGetAngle{angleCcA}; \FPround\angleCcA\angleCcA{0}
\tkzGetAngle{angleBbC}; \FPround\angleBbC\angleBbC{0}
\tkzMarkRightAngle[draw=black,opacity=.5](C,a,A)
\tkzMarkRightAngle[draw=black,opacity=.5](C,c,A)
\tkzMarkRightAngle[draw=black,opacity=.5](B,b,C)
\tkzLabelAngle[pos=-.5](A,a,C){\tiny $\angleAaC^\circ$}
\tkzLabelAngle[pos=.5](C,c,A){\tiny $\angleCcA^\circ$}
\tkzLabelAngle[pos=.6](B,b,C){\tiny $\angleBbC^\circ$}
\end{tikzpicture}
\end{document}
答案2
使用 tikz 的解决方案
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,calc,intersections}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0)node[below=0em of A]{A};
\coordinate (B) at (4,5)node[right=0em of B]{B};
\coordinate (C) at (-2,6)node[left=0em of C]{C};
\draw (A) -- (B) -- (C)--(A);
\draw[name path=CC] ($(A)!(C)!(B)$) -- (C);
\draw[name path=BB] ($(A)!(B)!(C)$) -- (B);
\draw ($(B)!(A)!(C)$) -- (A);
\fill[red,name intersections={of=CC and BB}]
(intersection-1) circle (2pt) node[above right] {I};
\end{tikzpicture}
\end{document}