如何使用 tikz 绘制带高亮角度的多边形

如何使用 tikz 绘制带高亮角度的多边形

在此处输入图片描述

我正在尝试在乳胶中复制此图形。显然,在 Geogebra 中做到这一点相当容易……但我想知道是否有一个特殊的包可以用来在乳胶中制作这种图形。提前谢谢。

答案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} 

在此处输入图片描述

相关内容