我对这个数字有疑问
\documentclass{standalone}
\usepackage{tikz, tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[scale=4]
\tkzDefPoints{0/0/D, .2/.5/P1, .7/.8/P2, 1.3/.9/P3, 1.8/.8/P4,
2.2/.4/C, 2.4/-.1/P5, 2.3/-.6/B, 1.9/-1/P6,
1.3/-1.1/P7, .6/-.9/A, 0.15/-.5/P8}
\tkzDrawPolygon[thick](D,P1,P2,P3,P4,C,P5,B,P6,P7,A,P8)
\tkzDrawPolygon[densely dashed](A,B,C,D)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](A,P8,D)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](P6,P7,A)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](B,P6,P7)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](C,P5,B)
\tkzDrawPoints(A,B,C,D)
\tkzLabelPoint[left](D){$D$}
\tkzLabelPoint[right](C){$C$}
\tkzLabelPoint[below](B){$B$}
\tkzLabelPoint[below](A){$A$}
\end{tikzpicture}
\end{document}
我的问题是:如何将点 C 和 D 沿线 CD 向右平移,而不改变这两个点之间的弧?
像这样:
答案1
我也不太明白,所以这可能会或可能不会有帮助。
您可以使用 TikZ 库中的距离修饰符语法a
定义通过点的线上的坐标。也就是说,坐标b
calc
($(a)!1cm!(b)$)
a
是位于坐标和线上的点b
,距离 1cm a
。您也可以使用负长度,即
($(a)!-1cm!(b)$)
距离 也为 1cm a
,但这次是远离它b
而不是朝向它。
这使你可以轻松地用相同的向量进行翻译C
,D
但我不确定这是否正是你所需要的。
\documentclass[border=5mm]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=4]
\tkzDefPoints{0/0/D, .2/.5/P1, .7/.8/P2, 1.3/.9/P3, 1.8/.8/P4,
2.2/.4/C, 2.4/-.1/P5, 2.3/-.6/B, 1.9/-1/P6,
1.3/-1.1/P7, .6/-.9/A, 0.15/-.5/P8}
\tkzDrawPolygon[thick](D,P1,P2,P3,P4,C,P5,B,P6,P7,A,P8)
\tkzDrawPolygon[densely dashed](A,B,C,D)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](A,P8,D)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](P6,P7,A)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](B,P6,P7)
\tkzMarkAngle[size=.07,fill=black!40,opacity=0.5](C,P5,B)
\tkzDrawPoints(A,B,C,D)
\tkzLabelPoint[left](D){$D$}
\tkzLabelPoint[right](C){$C$}
\tkzLabelPoint[below](B){$B$}
\tkzLabelPoint[below](A){$A$}
% place DD 3mm from D, on the line towards C
\coordinate (DD) at ($(D)!3mm!(C)$);
% place CC 3mm from C, on the line through D and C,
% the minus sign indicates that the direction is away from D
\coordinate (CC) at ($(C)!-3mm!(D)$);
\tkzDrawPolygon[densely dotted](A,B,CC,DD)
\end{tikzpicture}
\end{document}