有沒有一種方法可以使用以下程式碼來產生線段,以繪製一條線 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 點 1 公分的 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}