我想画一个直角三角形,这样它的边既不是垂直的也不是水平的。(没有坐标轴。)我想将直角边标记为 a 和 b,将斜边标记为 c。我想从顶点到斜边画一条垂线,以虚线段的形式画出。(我听说有一个命令可以指示 TikZ 执行此操作。)这将创建两个彼此相似的小三角形。我想用圆弧标记两个小三角形的四个锐角;一对相等的角用“|”标记,另一对相等的角用“||”标记。
我唯一能提供的代码是标记三角形顶点和绘制它们之间的线段的代码。我知道还有很多代码需要编写。我认为,任何回答者自己决定顶点的坐标都会更方便。
答案1
以下是使用“纯” TikZ 的一种可能性:
图像仅使用
\begin{tikzpicture}
\RectTri{(0,3)}{(1,0)}{6cm}
\begin{scope}[xshift=8.5cm]
\RectTri[black]{(0,0)}{(4,2)}{4cm}
\end{scope}
\end{tikzpicture}
\RectTri
有三个强制参数;前两个是其中一条边的顶点坐标,第三个是第二条边的长度。可选参数允许您自定义用于绘制三角形的样式。
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,angles,quotes,decorations.markings}
\newcommand\RectTri[4][thick,green!50!black,text=black]{%
\coordinate [label=left:$C$] (C) at #2;
\coordinate [label=below right:$B$] (B) at #3;
\coordinate (aux) at ($ #2 ! 1 ! 90:#3 $);
\coordinate [label=above:$A$] (A) at ($ #2 !#4!(aux) $);
\coordinate (perp) at ($(A)!(C)!(B)$);
\draw[purple!70!black,thick,dashed] (C) -- (perp);
\draw[#1]
(C) --
node[auto] {$b$} (A) --
node[auto] {$c$} (B) --
node[auto] {$a$}
(C)
pic ["$\alpha$",draw,cyan,thick,angle radius=1cm] {angle = C--A--B}
pic ["$\alpha$",draw,cyan,thick,angle radius=1cm] {angle = B--C--perp}
pic ["$\beta$",draw,orange!70!black,thick,angle radius=1cm] {angle = A--B--C}
pic ["$\beta$",draw,orange!70!black,thick,angle radius=1cm] {angle = perp--C--A};
}
\begin{document}
\begin{tikzpicture}
\RectTri{(0,3)}{(1,0)}{6cm}
\begin{scope}[xshift=8.5cm]
\RectTri[black]{(0,0)}{(4,2)}{4cm}
\end{scope}
\end{tikzpicture}
\end{document}
下面是使用的方法tkz-euclide
:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,1){A}
\tkzDefPoint(2,4){C}
\tkzDefPointWith[orthogonal normed,K=7](C,A)
\tkzGetPoint{B}
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[above](C){$C$}
\tkzMarkRightAngle(A,C,B)
\tkzDrawSegment[green!60!black](A,C)
\tkzDrawSegment[green!60!black](C,B)
\tkzDrawSegment[green!60!black](B,A)
\tkzLabelSegment[auto](B,A){$c$}
\tkzLabelSegment[auto,swap](B,C){$a$}
\tkzLabelSegment[auto,swap](C,A){$b$}
\tkzDrawAltitude[dashed,color=magenta](A,B)(C)
\tkzGetPoint{D}
\tkzMarkAngle[size=1cm,color=cyan,mark=|](C,B,A)
\tkzMarkAngle[size=1cm,color=cyan,mark=|](A,C,D)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](D,C,B)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](B,A,C)
\end{tikzpicture}
\end{document}