贝塞尔曲线循环

贝塞尔曲线循环

我想增强以下代码给出的输出:参见下面的图片,其中箭头末端较低且循环“较大”。

为此,我需要更好地控制贝塞尔曲线,并且我想在循环内添加一个减号。

\documentclass{article}

\usepackage{tikz}
\usepackage{nicematrix}

\begin{document}

$\begin{vNiceMatrix}[first-row]
    u & v  \\
    x & x'  \\
    y & y'
    \CodeAfter
    \tikz \draw [red,->]
        (1-1.east) .. 
            controls (2-2.south east) 
            and
            (2-1.south west)
        .. (1-2.west) ;
\end{vNiceMatrix}$

\end{document}

在此处输入图片描述

答案1

我会使用inout键(并使矩阵稍微大一些,以便注释不会与矩阵条目冲突)。

\documentclass{article}

\usepackage{tikz}
\usepackage{nicematrix}

\begin{document}

$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
    u & v  \\
    x & x'  \\
    y & y'
    \CodeAfter
    \begin{tikzpicture}
     \path (1-1.east) -- node[below=0.35em,red,inner sep=0pt] (minus) {$-$} (1-2.west);
     \draw [red,->]
        (1-1.east) to[out=0,in=30]  (minus.south east) 
        to[out=-150,in=-30]  (minus.south west)
        to[out=150,in=180] (1-2.west);
    \end{tikzpicture}           
\end{vNiceMatrix}$

\end{document}

在此处输入图片描述

或者还可以确保箭头位于相同的垂直位置。

\documentclass{article}

\usepackage{tikz}
\usepackage{nicematrix}

\begin{document}

$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
    u & v  \\
    x & x'  \\
    y & y'
    \CodeAfter
    \begin{tikzpicture}
     \path (1-1.east) -- node[below=0.35em,red,inner sep=0pt] (minus) {$-$} (1-2.west);
     \draw [red,->]
        (1-1.east) to[out=0,in=30]  (minus.south east) 
        to[out=-150,in=-30]  (minus.south west)
        to[out=150,in=180] (1-1.east-|1-2.west);
    \end{tikzpicture}           
\end{vNiceMatrix}$

\end{document}

在此处输入图片描述

或者甚至更加对称。

\documentclass{article}

\usepackage{tikz}
\usepackage{nicematrix}
\usetikzlibrary{calc}
\begin{document}

$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
    u & v  \\
    x & x'  \\
    y & y'
    \CodeAfter
    \begin{tikzpicture}
     \path (1-1.east) -- node[below=0.35em,red,circle,inner sep=1pt] (minus) {$-$} (1-2.west);
     \draw [red,->] let \p1=($(minus.east)-(minus.center)$) in 
        (1-1.east) to[out=0,in=150]  (minus.60) 
        arc[start angle=60,end angle=-240,radius=\x1] 
        to[out=30,in=180] (1-1.east-|1-2.west);
    \end{tikzpicture}           
\end{vNiceMatrix}$
\end{document}

在此处输入图片描述

相关内容