在 tikz 中连接 2 个坐标

在 tikz 中连接 2 个坐标

在 tikz 中,当连接 2 个坐标时,不同数量的 + 和 -s 之间有什么区别,例如 -+ , --++ , -++ , --+ 。

答案1

注意在 TikZ 中,有--(两个破折号) 操作,但没有-(一个破折号) 操作。 该命令表示从到\draw (A)--(B);画一条直线段。 该命令返回错误。 操作、、、 ... 具有不同的含义。(A)(B)\draw (A)-(B);-||-->

许多 TikZ 初学者似乎对+和感到困惑++。要理解这些,我们需要两件事:连通路径分量和下一个加法的点。

连通路径组件一条路径通常由一些连通的路径部分组成。例如,

\draw 
(A)--(B)        % 1st connected path component
(C)--(D)--(E)   % 2nd connected path component
(F) node{$F$}   % 3rd connected path component
; 

在连接路径组件中没有 +或者++下一个加点正是当前连通路径分量的起点。

\draw (A);            % the point for the next plus is A, but we do not care this.
\draw (A)--(B);       % the point for the next plus is A, but we do not care this.
\draw (A)--(B)--(C);  % the point for the next plus is A, but we do not care this.

当沿着connected path component ++++和都++表示将下一个加法点加在一起(TikZ 之前已经知道了)。它们之间的唯一区别是:+保持下一个加法点不变,而++更新新的下一个加点:

\draw (A)--+(B); %  \draw (A)--($(A)+(B)$); the point for the next plus is A

\draw (A)--++(B); %  \draw (A)--($(A)+(B)$); the point for the next plus is A+B (useless in this case, since there is nothing to plus)
 
\draw (A)--++(B)--+(C); %  \draw (A)--($(A)+(B)$)--($(A)+(B)+(C)$); the point for the next plus is A+B (uselful in this case: to plus with C)

现在请逐行复制下面的代码,并进行编译,看看+和的不同效果++。就这样!

希望这可以帮助!

在此处输入图片描述

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[gray!30] (-2,-3) grid (6,5);
\fill (0,0) circle(2pt);
\path
(-1,-2) coordinate (A)  node[left]{$A$} 
(4,1) coordinate (B) node[right]{$B$}
(1,3.5) coordinate (C) node[above]{$C$}
($(A)+(B)$) node[right]{$A+B$}
($(A)+(C)$) node[above]{$A+C$}
($(B)+(C)$) node[above]{$B+C$}
($(A)+(B)+(C)$) node[above]{$A+B+C$}
;
\draw (A)--(B)--(C);

% tpftnp=the point for the next plus        

\draw (A)--(B)--+(C);           % same as (A)--(B)--($(A)+(C)$), tpftnp is A
\draw[blue] (A)--+(B)--(C);     % same as (A)--($(A)+(B)$)--(C), tpftnp is A
\draw[red] (A)--+(B)--+(C);     % same as (A)--($(A)+(B)$)--($(A)+(C)$), tpftnp is A
    
\draw[green] (A)--(B)--++(C);    % same as (A)--(B)--+(C), tpftnp is A, then C 
        
\draw[violet] (A)--+(B)--++(C);  % same as (A)--+(B)--+(C), tpftnp is A, then C
        
\draw[orange] (A)--++(B)--(C); % same as (A)--+(B)--(C), tpftnp is A, then B
\draw[cyan] (A)--++(B)--+(C);  % same as (A)--($(A)+(B)$)--($(A)+(B)+(C)$) tpftnp is A, then B
        
\draw[blue] (A)--++(B)--++(C); % same as (A)--++(B)--+(C), tpftnp is A, then B, then C
\end{tikzpicture}
\end{document}

概括。从路径的每一小段(称为连通路径组件)的起点到终点,首先将起点作为下一个加法的点,即(P);然后

  • 如果满足某个+(A)含义(P)+(A),则保持不变(P),继续下一步;
  • 如果满足++(A)含义(P)+(A),则更新(P)(P)+(A),然后继续下一步;

直到作品结束。

相关内容