函数对函数的反射

函数对函数的反射

是否有一种有效的方法来绘制如下内容:

在此处输入图片描述

提前谢谢你,cheerz

答案1

您已经问过一个非常类似的问题并得到了很好的答案这里。这个答案可以稍加调整后用来创建类似于您的扫描的东西。(我写这个只是因为我真的很喜欢你得到的答案并且想学习一些新技巧。)

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}

\begin{document}
\begin{tikzpicture}[scale=2]
\draw[->] (-0.5,0)--(6,0) node[below] {$E$};
\path[name path=Vert,draw,->] (-0.5,0)--(-0.5,4) node[left]{$t$};
\draw[thick,name path=Func,draw,domain=0.1:5,smooth,variable=\x,samples=50]
plot ({\x},{1/pow(\x,1/2)});

\foreach \WaveL[count=\i from 0] in {-0.06,-0.12,-0.24,-0.48,-0.48,-0.24,-0.12,-0.06}{
\path[name path=Vert\i] ({1+\i*0.15},0)--({1+\i*0.15},6);
\path[name intersections={of=Func and Vert\i}] node at (intersection-1)(PointA\i){};

\path[name path=Horiz\i] let \p1=(PointA\i) in(\x1,\y1)--(-0.5,\y1) node[inner sep=0] (PointB\i){};
\node (SWav\i) at ($(PointB\i)-(-\WaveL,0)$){} ;
\draw[dotted] (PointA\i)--({1+\i*0.15},\WaveL);
\draw[dotted] (PointA\i)--($(PointB\i)-(-\WaveL,0)$);
\coordinate (Wav\i) at ({1+\i*0.15},\WaveL);
}
\draw[blue,thick] plot[smooth] coordinates {(Wav0)(Wav1)(Wav2)(Wav3)(Wav4)(Wav5)(Wav6)(Wav7)};
\draw[red,thick] plot[smooth] coordinates {(SWav0)(SWav1)(SWav2)(SWav3)(SWav4)(SWav5)(SWav6)(SWav7)};
\end{tikzpicture}
\end{document}

在此处输入图片描述

抱歉,我不知道您想要的功能(参见@BambOo 的评论),所以我只放了一些与您的扫描有些相似的功能。

相关内容