tikz: especifique um ponto a uma distância do início/fim de um caminho

tikz: especifique um ponto a uma distância do início/fim de um caminho

Considere este exemplo:

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (0,0);
  \coordinate (B) at (1, 3);
  \draw [fill=blue] (A) circle (0.1);
  \draw [fill=blue] (B) circle (0.1);
  \draw ($(A)!0.1!(B)$) -- ($(A)!0.9!(B)$);
\end{tikzpicture}
\end{document}

A saída parece boa:

insira a descrição da imagem aqui

Porém, em vez de usar $(A)!0.1!(B)$e $(A)!0.9!(B)$eu gostaria de especificar a linha a ser desenhada de 0,4 cm do início a 0,4 cm do final do caminho (A) -- (B). Como fazer isso?

Responder1

Para encurtar um caminho em certa distância, você nem precisa calc. Você pode simplesmente usar a shortenchave.

\draw[shorten >=0.4cm,shorten <=0.4cm] (A) -- (B);

Exemplo:

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
%\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (0,0);
  \coordinate (B) at (1, 3);
  \draw [fill=blue] (A) circle (0.1);
  \draw [fill=blue] (B) circle (0.1);
  %\draw ($(A)!0.1!(B)$) -- ($(A)!0.9!(B)$);
  \draw[shorten >=0.4cm,shorten <=0.4cm] (A) -- (B);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada