我有这个 \newcommand 来绘制等腰三角形,有没有办法改变它,这样不是创建点 D 和圆 AB 来找到 C,而是使用 AB 和一个角度来获得 C 并保持 AB=AC。
\documentclass{article}
\usepackage{tkz-euclide}
\newcommand{\tri}[4]{%
\tkzDefPoint(0,0){A}
\tkzDefPoint(#1,#2){B}
\tkzDefPoint(#3,#4){D}
\tkzInterLC(A,D)(A,B) \tkzGetPoints{X}{C}
\tkzDrawPolygon(A,B,C)
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[above](C){$C$}
}
%Diagram environment
\newenvironment{diagram}
{\stepcounter{CountDiag}\vspace*{10pt}
\begin{center}
\begin{tikzpicture}}
{\end{tikzpicture}\vspace*{-5pt}\par Diagram~\theCountDiag
\end{center}}
\newcounter{CountDiag}
\begin{document}
\begin{diagram}
\tri{3}{0}{8}{4}
\end{diagram}
\end{document}
谢谢
答案1
通过旋转(你总是可以计算角度)
\documentclass{article}
\usepackage{tkz-euclide}
\newcommand{\tri}[3]{%
\tkzDefPoint(0,0){A}
\tkzDefPoint(#1,#2){B}
\tkzDefPointBy[rotation=center A angle #3](B)
\tkzGetPoint{C}
\tkzDrawPolygon(A,B,C)
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[above](C){$C$}
}
\begin{document}
\begin{tikzpicture}
\tri{3}{0}{30}
\end{tikzpicture}
\end{document}
在某些情况下可能:
\tkzDefTriangle[two angles = 50 and 70](A,B)
\tkzGetPoint{C}
如果角度(A)= 30,则角度(B)=角度(C)= 75,并\tkzDefTriangle[two angles = 30 and 75](A,B)
回答问题。