我有一个用于项目的 .sty 文件,我正尝试在其中编写一个新命令,以采用 3 个参数(即三角形的 3 条边长)然后绘制三角形。我不太清楚如何应用数学公式来设置坐标。以下是我目前所得到的:
\newcommand{\drawtriangle}[3]{
\begin{tikzpicture}[line width=1pt]
\coordinate (A) at (0,0);
\coordinate (B) at (#2,0);
\coordinate (C) at ((${#2^2+#3^2-#1^2}/{2*#2}$),(${#3^2-{{#2^2+#3^2-#1^2}/{2*#2}}^2}^{0.5}$));
\draw (A) -- (B) -- (C) -- cycle;
\end{tikzpicture}}
任何帮助将非常感激!
答案1
我相信这能解决问题
\newcommand{\drawtriangle}[3]{
\begin{tikzpicture}[line width=1pt]
\coordinate (A) at (0,0);
\coordinate (B) at (#1,0);
\coordinate (C) at ({(#1^2+#2^2-#3^2)/(2*#1)},{sqrt(#2^2-((#1^2+#2^2-#3^2)/(2*#1))^2)});
\draw (A) -- (B) -- (C) -- cycle;
\end{tikzpicture}}
看起来您{}
在应该使用的时候却使用了()
。
无论哪种方式,公式都是通过圆的交点获得的。
必须添加三角形存在的条件。但我认为这足以帮助你。