我试图找到 (A,B) 与通过 P 的正交线的交点。以下代码导致“没有已知名为 C 的形状”:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(11,0){B}
\tkzDefPoint(10,10){P}
\tkzDefLine[orthogonal=through P](B,A) \tkzGetPoint{X_1}
\tkzInterLL(P,X_1)(A,B) \tkzGetPoint(C)
\tkzLabelPoints(C)
\end{tikzpicture}
\end{document}
我不明白为什么那个交点不应该存在。
答案1
您只需使用\tkzGetPoint{C}
而不是\tkzGetPoint(C)
。语法改变。
我还添加(绘制)了点和线,\tkzDrawPoints(C,X_1)
以便\tkzDrawLine(A,B)
直观地显示解决方案。\tkzLabelPoints(A,B)
绘制标签。
定义一条通过点 P 且与另一条线 (A,B) 正交的线:
因此,您可以使用\tkzDefLine[orthogonal=through P](B,A)
,将得到的直线的第二点\tkzGetPoint{X_1}
(第一点是 P)定义为 X_1。
计算两条线的交点:
\tkzInterLL(P,X_1)(A,B)
:计算两条线 (P,X_1) 和 (A,B) 的交点。得到\tkzGetPoint{C}
交点,保存为 C。
解决方案:
梅威瑟:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(11,0){B}
\tkzDefPoint(10,10){P}
\tkzDrawPoints(A,B,P)\tkzLabelPoints(A,B,P)
%
\tkzDefLine[orthogonal=through P](B,A)
\tkzGetPoint{X_1}
%
\tkzInterLL(P,X_1)(A,B)
\tkzGetPoint{C}
\tkzDrawPoints(C,X_1)\tkzLabelPoints(C,X_1)
%
\tkzDrawLine(A,B)
\tkzDrawLine(P,X_1)
\end{tikzpicture}
\end{document}