这就是我想要实现的目标。
这就是我目前得到的。
我不确定如何在顶部添加长度 x。
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{tikzpicture}
\tkzDefPoint(2,0){A}
\tkzDefPoint(4,2){B}
\tkzDefPoint(2,4){C}
\tkzDefPoint(0,2){D}
\tkzDefPoint(2,2){E}
\tkzDrawPolygon[fill=gray!10](A,B,C,D)
\tkzDrawSegment[dashed](D,B)
\tkzDrawSegment[dashed](C,A)
\tkzLabelSegment[left=4pt](E,C){$7$}
\tkzLabelSegment[below=4pt](B,A){$10$}
\tkzMarkSegments[mark=|,size=4pt](A,B B,C C,D A,D)
\tkzMarkRightAngle(C,E,B)
\foreach \Nodo in {B,D}
\draw ([yshift=9pt]\Nodo) -- ([yshift=15pt]\Nodo);
\draw[<->,>=latex] ([yshift=12pt]A) -- node[fill=white] {$x$} ([yshift=12pt]B);
\end{tikzpicture}
\end{document}
答案1
可以使用以下方法绘制 B 和 D 的垂直规则
\foreach \Nodo in {B,D}
\draw[help lines] ([yshift=9pt]\Nodo) -- ++(0,2.2cm);
可以使用 acotation 规则(不确定英文名称)绘制
\draw[<->,>=latex]
([yshift=2.3cm]B) -- node[fill=white] {$x$} ([yshift=2.3cm]D);
完整示例:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(2,0){A}
\tkzDefPoint(4,2){B}
\tkzDefPoint(2,4){C}
\tkzDefPoint(0,2){D}
\tkzDefPoint(2,2){E}
\tkzDrawPolygon[fill=gray!10](A,B,C,D)
\tkzDrawSegment[dashed](D,B)
\tkzDrawSegment[dashed](C,A)
\tkzLabelSegment[below left=2pt](E,C){$7$}
\tkzLabelSegment[below right=2pt](B,A){$10$}
\tkzMarkSegments[mark=|,size=4pt](A,B B,C C,D A,D)
\tkzMarkRightAngle(C,E,B)
\foreach \Nodo in {B,D}
\draw[help lines] ([yshift=9pt]\Nodo) -- ++(0,2.2cm);
\draw[<->,>=latex]
([yshift=2.3cm]B) -- node[fill=white] {$x$} ([yshift=2.3cm]D);
\end{tikzpicture}
\end{document}