TikZ: нелинейная касательная кривая

TikZ: нелинейная касательная кривая

Я хотел бы нарисовать касательную кривую от точки (a)до точки (b), пересекающую точку (c)(центр квадрата). Кривая должна быть растянута в соответствии с серыми линиями (поскольку это логарифмическая шкала). Я экспериментировал с controls, но не продвинулся далеко. Есть ли способ лучше, чем использовать controls?

Мой код на данный момент:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[every node/.style = {draw, circle, fill=white, inner sep=.01cm}]

\draw (0, 1) -- (10, 1) -- (10, -1) -- (0, -1) -- cycle;
\node (a) at (0, -1) {a};   % south-west corner
\node (b) at (10, 1) {b};   % north-east corner
\node (c) at (5, 0) {c};    % center
\foreach \n in {1,...,50} \draw[gray, very thin]
        ({10/pow(2, \n/12)}, 1)
    --  ({10/pow(2, \n/12)}, -1);

\draw[cyan] (a) -- (b);

\end{tikzpicture}
\end{document}

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

Я хочу добиться следующего (хотя левая половина кривой должна уменьшаться быстрее): введите описание изображения здесь

решение1

Может быть, это немного ближе?

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[every node/.style = {draw, circle, fill=white, inner sep=.01cm}]

\draw (0, 1) -- (10, 1) -- (10, -1) -- (0, -1) -- cycle;
\node (a) at (0, -1) {a};   % south-west corner
\node (b) at (10, 1) {b};   % north-east corner
\node (c) at (5, 0) {c};    % center
\foreach \n in {1,...,50} \draw[gray, very thin]
        ({10/pow(2, \n/12)}, 1)
    --  ({10/pow(2, \n/12)}, -1);

\draw[thick,cyan] (a) to[out=0,in=270,looseness=0.55] (c.center) to[out=65,in=180,looseness=0.5] (b);

\end{tikzpicture}
\end{document}

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

решение2

Вот что я понял из вашего описания в одном из комментариев. Был ли я близок к вашей идее? Если нет, возможно, вы могли бы предоставить нарисованный от руки макет.

Этот?

\usetikzlibrary{calc}
\begin{tikzpicture}[every node/.style = {draw, circle, fill=white, inner sep=.01cm}]

\draw (0, 1) -- (10, 1) -- (10, -1) -- (0, -1) -- cycle;
\node (a) at (0, -1) {a};   % south-west corner
\node (b) at (10, 1) {b};   % north-east corner
\node (c) at (5, 0) {c};    % center
\foreach \n in {1,...,50} \draw[gray, very thin]
        ({10/pow(2, \n/12)}, 1)
    --  ({10/pow(2, \n/12)}, -1);

\draw[cyan] (a) .. controls +(5, 0) and +(-.5, -.5) .. (c.center) .. controls +(.5,.5) and +(-1,0) .. (b);
\end{tikzpicture}

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