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