我正在尝试绘制一个简单的图形来说明关于反射的课程。我想要一个 F、一个轴和反射的 F。
因此,我定义了一些点来绘制 F,并尝试使用 \tkzDefPointsBy[reflection=over ...]。
据我了解,您必须使用 \tkzGetPoints 来“真正”定义反射点(不确定这一点)。但是它不起作用...
这是我的代码:
\documentclass[10pt, a4paper]{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[]
\tkzDefPoints{0/0/A, 1/0/B, 1/2/C, 2/2/D, 2/3/E, 1/3/F, 1/4/G, 3/4/H, 3/5/I, 0/5/J, 1/-1/M, 5/7/N}
\tkzDefPointsBy[reflection=over M--N](A,B,C,D,E,F,G,H,I,J){a,b,c,d,e,f,g,h,i,j}
\tkzGetPoints{a}{b}{c}{d}{e}{f}{g}{h}{i}{j}
\draw (A)--(B)--(C)--(D) --(E)--(F)--(G)--(H)--(I)--(J)--cycle;
\draw M--N;
\draw (a)--(b)--(c)--(d) --(e)--(f)--(g)--(h)--(i)--(j)--cycle;
\end{tikzpicture}
我得到的结果是“包 pgf 错误:没有已知的名为“tkzFirstPointResult”的形状。”并且 tkzSecondPointResult 也是一样。
希望我说得清楚。提前谢谢!
答案1
\tkzGetPoints
不,在这种情况下你实际上不需要:)
例如,当您这样做时,和\tkzDefPointsBy[reflection=over M--N](A,B){a,b}
的反射分别被命名为和。如果为空,即,和的反射将分别被命名为和。所以你永远不需要。A
B
a
b
{}
\tkzDefPointsBy[reflection=over M--N](A,B){}
A
B
A'
B'
\tkzGetPoints
\tkzDefPointsBy
因此,只需删除该\tkzGetPoints
行并添加缺失的括号\draw (M)--(N);
,即可获得:
\documentclass[10pt, a4paper]{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[]
\tkzDefPoints{0/0/A, 1/0/B, 1/2/C, 2/2/D, 2/3/E, 1/3/F, 1/4/G, 3/4/H, 3/5/I, 0/5/J, 1/-1/M, 5/7/N}
\tkzDefPointsBy[reflection=over M--N](A,B,C,D,E,F,G,H,I,J){a,b,c,d,e,f,g,h,i,j}
% \tkzGetPoints{a}{b}{c}{d}{e}{f}{g}{h}{i}{j}
\draw (A)--(B)--(C)--(D) --(E)--(F)--(G)--(H)--(I)--(J)--cycle;
\draw (M)--(N);
\draw (a)--(b)--(c)--(d) --(e)--(f)--(g)--(h)--(i)--(j)--cycle;
\end{tikzpicture}
\end{document}