答案1
我认为a、b、θ给出。
然后像这样:
€编辑:使用您想要的“锐角直角”:
\draw pic [draw, angle radius=3mm,
angle eccentricity=0.5, "$\cdot$",
] {right angle =C--P--D};
angle eccentricity=0.5, "$\cdot$"
请注意,如果您不想要内部点,您可以注释掉。
\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{angles, quotes, babel}
\usepackage{amsmath, amssymb}
\begin{document}
\pgfmathsetmacro{\a}{4} %
\pgfmathsetmacro{\b}{2.5} %
\pgfmathsetmacro{\thetaA}{33} %
\pgfmathsetmacro{\x}{\a*tan(\thetaA)} %
\pgfmathsetmacro{\y}{\b/tan(\thetaA)} %
\begin{tikzpicture}[%scale=0.7,
font=\footnotesize,
>={Triangle[length=0pt 9,width=0pt 4]}
]
\coordinate[label=left:$A$] (A) at (0,0);
\coordinate[label=below:$B$] (B) at (\x+\y,0);
\coordinate[label=left:$D$] (D) at (0,\a);
\coordinate[label=below:$P$] (P) at (\x,0);
\draw[] (A) -- (D) node[midway, left]{$a$};
\draw[] (A) -- (P) node[midway, below]{$x$};
\draw[] (P) -- (B) node[midway, below]{$y$};
\draw[] (B) -- +(0,\b) coordinate[label=right:$C$](C) node[midway, right]{$b$};
\draw[] (D) -- (P) node[midway, above]{$c$};
\draw[] (C) -- (P) node[midway, above]{$d$};
\draw[] (C) -- (D);
%% Angles
\draw pic [draw, angle radius=7mm, %angle eccentricity=1.3,
"$\theta$", ->
] {angle =A--D--P};
\draw pic [draw, angle radius=8mm, %angle eccentricity=1.3,
"$\theta$", ->
] {angle =P--D--C};
\draw pic [draw, angle radius=7mm, %angle eccentricity=1.3,
"$\theta$", ->
] {angle =B--P--C};
\draw pic [draw, angle radius=3mm,
angle eccentricity=0.5, "$\cdot$",
] {right angle =C--P--D};
\draw pic [draw, angle radius=3mm,
angle eccentricity=0.5, "$\cdot$",
] {right angle =P--A--D};
\draw pic [draw, angle radius=3mm,
angle eccentricity=0.5, "$\cdot$",
] {right angle =C--B--P};
%% Points
\foreach \P in {P} \draw[fill=black!1] (\P) circle (1.75pt);
%% Annotations
\path[local bounding box=figure] (A) -- (B) -- (C) -- (D) --cycle;
\node[yshift=-5mm, draw, align=left, fill=lightgray!50,
anchor=north west, % text width=\x cm+\y cm,
] at (figure.south west) {
$\begin{array}{l l}
a = \a \text{ cm} & \\
b = \b \text{ cm} & \\
\theta = \thetaA^\circ & \\ \hline \\%[0.1em]
x = a\cdot\tan(\theta) & =\x \text{ cm} \\
y = \dfrac{b}{\tan(\theta)} & =\b \text{ cm} \hspace{2.0cm}\\
\end{array}$
};
\end{tikzpicture}
\end{document}
答案2
为了好玩,pstricks 代码模仿了在一张纸上用尺子和圆规构造的情况:
\documentclass[12pt, border=6pt, svgnames]{standalone}
\usepackage[upright]{fourier}
\usepackage{pst-eucl}
\begin{document}
\begin{pspicture}(-0.1,-0.1)(5.2,4)
\psset{linestyle=none, PointSymbol=none, PointName=none}%
\pstGeonode(0,0){O}(0,4){B}(8,0){A}
\pstBissectBAC{O}{B}{A}{X} \pstInterLL{B}{X}{O}{A}{C}
\pstSymO{C}{B}[B1]
\pstMediatorAB{B}{B1}{C}{Y}\pstInterLL{A}{B}{C}{Y}{D}
\pstProjection{O}{A}{D}[E]
\psset{linestyle=solid, linejoin=1, linecolor=Coral}
\pspolygon(O)(B)(D)(E)
\psline(B)(C)(D)
%%angles
\psset{linecolor=black, linewidth=0.5pt}
\pstRightAngle[RightAngleSize=0.25]{B}{C}{D}
\psset{arrows=->,arrowinset=0.12, MarkAngleRadius=0.7}
\pstMarkAngle{C}{B}{D}{$\theta$}
\pstMarkAngle[MarkAngleRadius=0.8]{O}{B}{C}{$\theta$}
\pstMarkAngle{E}{C}{D}{$\theta$}
\end{pspicture}
\end{document}