產生一條線 tkz-euclide

產生一條線 tkz-euclide

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

在此輸入影像描述

相關內容