Создайте линию tkz-euclide

Создайте линию tkz-euclide

Есть ли способ создать сегмент, используя следующий код, чтобы нарисовать линию AB плюс 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)

\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)для создания точки C, расположенной на 1 см дальше точки B вдоль линии AB. Это позволяет избежать необходимости в вычислениях ортогональных векторов.

\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}

введите описание изображения здесь

Связанный контент