有人能解释一下为什么我的中心落在三角形之外吗?
\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (30:2in);
\coordinate (tC/A) at ($(A)!1in!-30:(B)$);
\coordinate (tC/B) at ($(B)!1in!60:(A)$);
\tkzInterLL(tC/A,A)(tC/B,B) \tkzGetPoint {C}
\draw (A) -- (B) -- (C) -- cycle;
\tkzInCenter(A,B,C)
\tkzGetPoint{cABC}
\node at (cABC) {{\small\texttt{In-center???}}};
\draw[red,dashed] (A) -- (cABC)
(B) -- (cABC)
(C) -- (cABC);
\node at ($(A)+(-90:1ex)$) {A};
\node at ($(B)+(+90:1ex)$) {B};
\node at ($(C)+(-90:1ex)+(1ex,0)$) {C};
\path (A) -- (B) node [midway,sloped,above=2pt] {Hypotenuse}; %%,sloped
\path (B) -- (C) node [midway,right] {Shorter Leg};
\path (A) -- (C) node [midway,below] {Longer Leg};
\end{tikzpicture}
\end{document}
更新
奇怪的是,如果我改变顶点的顺序,我可以得到不同的结果:
\tkzInCenter(C,A,B)
似乎提供了正确的中心。非常好奇想知道发生了什么。我的法语很差,但手册似乎建议可以按任何顺序提供这些点。
\tkzDefBisectorLine(....)
在 的定义中使用 which似乎出了点问题\tkzInCenter
。特别是,如果我写
\tkzDefBisectorLine(C,A,B) \tkzGetPoint{testA}
\draw[blue,dashed] (A) -- (testA);
\tkzDefBisectorLine(C,B,A) \tkzGetPoint{testB}
\draw[blue,dashed] (B) -- (testB);
\node[inner sep=4pt,fill] at (testB) {};
C,A,B
和的顺序选择C,B,A
取决于定义如何与 一起工作\tkzInCenter(A,B,C)
。第一行出现了,但testB
似乎位于 的相同坐标处B
。
答案1
这似乎是在 中寻找角平分线的方式中的一个错误tkz-euclide
。
出现错误是因为 是angle CBA
60 度角,而构造方法使用通过C
围绕临时点旋转来创建等边三角形的方法。由于angle CBA
测量值为 60 度,因此旋转正好(三角形??)落在 之上B
。我不确定为什么应该优先考虑这种特定的构造。如果临时点称为,那么和TMP
之间的中点应该足以放置角平分线。C
TMP
我不知道该向哪里报告这个错误。有人能告诉我怎么做吗?
我在对 30-60-90 三角形进行测验时发现这个特定的错误,这似乎有点偶然。