\begin{tikzpicture}
\tikzset{mypoints/.style={fill=white,draw=black}}
\tikzstyle{help lines}+=[very thin]
\coordinate[label={[label distance=0.5em]180:$A$}]
(A) at (120:5);
\coordinate[label={[label distance=0.5em]180:$B$}]
(B) at (210:5);
\coordinate[label={[label distance=0.5em] 0:$C$}]
(C) at (335:5);
\coordinate[label={[label distance=0.5em] 0:$D$}]
(D) at ( 40:5);
\coordinate[label={[label distance=0.5em]-90:$M$}]
(M) at (intersection of A--C and B--D);
\draw (A) -- (B) -- (C) -- (D) -- (A);
\draw (A) -- (C) (B) -- (D);
\end{tikzpicture}
在上述例子中,如何在 AC 上构造一个点 E 使得∠ADE = ∠BDC?
答案1
这看起来像是优秀包的工作tkz-euclide
。语法需要一点时间来适应,但它非常强大:
\documentclass{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
% Define the known points
\tkzDefPoint(120:5){A}
\tkzDefPoint(210:5){B}
\tkzDefPoint(335:5){C}
\tkzDefPoint(40:5){D}
% Find the intersection between AC and BD, save point as M
\tkzInterLL(A,C)(B,D)
\tkzGetPoint{M}
% Measure the angle BDC, save as \angleBDC
\tkzFindAngle(B,D,C)
\tkzGetAngle{angleBDC}
% Rotate A by \angleBDC around D, save point as E'
\tkzDefPointBy[rotation=center D angle \angleBDC](A)
\tkzGetPoint{E'}
%Find the intersection between AC and DE', save point as E
\tkzInterLL(A,C)(D,E')
\tkzGetPoint{E}
\tkzDrawSegment(A,C)
\tkzDrawSegment(B,D)
\tkzDrawSegment(D,E)
\tkzDrawPolygon(A,B,C,D)
\tkzDrawPoints(A,B,C,D,M,E)
\tkzLabelPoints[above](A,D)
\tkzLabelPoints[below](B,C,M)
\tkzLabelPoints[below left](E)
\end{tikzpicture}
\end{document}