有没有办法使用以下代码来生成线段,绘制一条线段 AB 加 1cm 到点 C,显然不需要计算坐标。
\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(2,3){B}
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B)
\tkzLabelPoints(A,B)
\end{tikzpicture}
\end{document}
谢谢
答案1
一种可能性
\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(2,3){B}
\tkzDefPointWith[linear normed,K=-1](B,A)
\tkzGetPoint{C}
\tkzDrawSegments(A,B B,C)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{document}
另一种可能性
\tkzDefPointWith[colinear= at B,normed](A,B)
注意,如果希望 C 与 A 和 B 对齐,则必须进行计算以确定 (AB) 的斜率。一般来说,这里的原理是将向量 AB 除以其范数。
答案2
此代码用于\tkzDefPointBy[translation=from A to B](1,0)
创建位于 AB 线上 B 点 1cm 处的 C 点。这样就无需进行正交向量计算。
\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(2,3){B}
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B)
\tkzLabelPoints(A,B)
% Extend the line segment AB by 1cm to create point C
\tkzDefPointBy[translation=from A to B](1,0)
\tkzGetPoint{C}
\tkzDrawSegment(B,C)
\tkzDrawPoint(C)
\tkzLabelPoints(C)
\end{tikzpicture}
\end{document}