如何延长线段长度
通过比例确定
\documentclass[border=4pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 2/0/B}
\tkzDrawPoints(A,B)
\tkzDrawSegment[-Stealth](A,B)
\tkzDefPointWith[linear,K=1.5](A,B)
\tkzGetPoint{C}
\tkzDefPointWith[linear,K=.75](A,B)
\tkzGetPoint{D}
\tkzDefPointWith[linear,K=-.5](A,B)
\tkzGetPoint{E}
\tkzDrawPoints[violet](C) % 1.5
\tkzDrawPoints[cyan](D) % .75
\tkzDrawPoints[olive](E)% -.5
\tkzLabelPoints[above](A,B,C,D,E)
\tkzDrawLine[gray,dashed,add=1 and 1](A,B)
\end{tikzpicture}
\end{document}
通过长度确定
读文档,不难发现...
对于linear normed
,参数K
为「绝对距离」。
\documentclass[border=4pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 2/0/B}
\tkzDrawPoints(A,B)
\tkzDrawSegment[-Stealth](A,B)
\tkzDefPointWith[linear normed,K=1.5](A,B)
\tkzGetPoint{C}
\tkzDefPointWith[linear normed,K=2.5](A,B)
\tkzGetPoint{D}
\tkzDefPointWith[linear normed,K=-1](A,B)
\tkzGetPoint{E}
\tkzDrawPoints[violet](C) % K=1.5 |AC|=1.5,|BD|=0.5
\tkzDrawPoints[cyan](D) % K=2.5 |AD|=2.5,|BD|=0.5
\tkzDrawPoints[olive](E)% K=-1 |EA|=1
\tkzLabelPoints[above](A,B,C,D,E)
\tkzDrawLine[gray,dashed,add=1 and 1](A,B)
\end{tikzpicture}
\end{document}
至此,假如已知BD=4.2的情况下,如何延长BA到点E,并且使AE = BD = 4.2
,也就是延长绝对的数量;
应该是可以解决了...
如何获取线段的长度
假如BD长度未知,如何得到它的长度,并且延长BA到点E,并且使AE = BD的长度
在文档中也有类似的功能\tkzCalcLength
下面把|AB|设置为倾斜的,因此|AB|长度需要通过勾股定理,较难计算。同时我们预期在|AC|上延长这段长度...
\documentclass[border=4pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 1.5/0.25/B, 1/1/C}
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(A,B,C)
\tkzDrawSegments[thick](A,B A,C)
%计算|AB|的长度
\tkzCalcLength(A,B)
\tkzGetLength{dAB}
%从C点反向延长距离为\dAB的长度
\tkzDefPointWith[linear normed,K=-\dAB](C,A)
\tkzGetPoint{D}
\tkzDrawSegment[magenta,semithick](A,D)
\tkzDrawPoints[magenta](D)
\tkzLabelPoints[magenta](D)
\tkzDrawSegment[dim={\pgfmathprintnumber\dAB,6pt,}](C,D)
\end{tikzpicture}
\end{document}
问 延长线段长度的作图方法