亥姆霍兹共振器与 Tikz

亥姆霍兹共振器与 Tikz

我正在努力在 TikZ 环境中绘制亥姆霍兹共振器。我希望得到一张尽可能类似于下图的图片。

亥姆霍兹共振腔

答案1

过去,我曾画过与你要求的类似的图。我的是一个有开口的圆圈,但它可能对你有用。
我使用参数图和一段 Matlab 代码来计算一些点和角度:

ang=35;
rs=0.7;
rb=2;
sep=0.6;

syms AX AY BX BY;

eq1=sqrt(AX^2+AY^2)==rs+rb;
eq2=sqrt(BX^2+BY^2)==rs+rb;
eq3=sqrt((AX-BX)^2+(AY-BY)^2)==2*rs+sep;
eq4=(AY+BY)/(AX+BX)==tand(ang);

[Ax,Ay,Bx,By]=solve(eq1,eq2,eq3,eq4,AX>0);

ax=double(Ax(1))
ay=double(Ay(1))
bx=double(Bx(1))
by=double(By(1))

anga=atand(ay/ax)
angb=atand(by/bx)

以及这个 tikz 代码:

\documentclass[margin=.1cm]{standalone}

\usepackage{tikz}

\usetikzlibrary{calc, intersections, arrows}

\begin{document}
    \begin{tikzpicture}
        % parameters
        \def\rb{2}
        \def\rs{0.7}
        \def\ang{35}
        \def\sep{0.6}

        % matlab outputs
        \def\ax{1.4808}
        \def\ay{2.2577}
        \def\bx{2.6280}
        \def\by{0.6194}
        \def\anga{56.7385}
        \def\angb{13.2615}

% uncoment for help drawings        
%       \begin{scope} [help lines]
%           \draw (-3,-3) grid (3,3);
%           \draw (0,0) circle(\rb);
%           
%           \draw (\ax,\ay) circle (\rs);
%           \draw (\bx,\by) circle (\rs);
%           
%           \draw (0,0) -- (\ax,\ay) -- (\bx,\by) -- cycle;
%           \draw (0,0) -- (\ang:\rb*1.5);
%                   
%       \end{scope}

        \begin{scope}[red, very thick,samples=100]
            \draw [domain=\anga:{360+\angb}] plot ({\rb*cos(\x)},{\rb*sin(\x)});

            \draw [domain={90+\ang}:{180+\angb}] plot ({\bx+\rs*cos(\x)},{\by+\rs*sin(\x)});

            \draw [domain={180+\anga}:{270+\ang}] plot ({\ax+\rs*cos(\x)},{\ay+\rs*sin(\x)});

            \draw ({\ax+\rs*cos(270+\ang)},{\ay+\rs*sin(270+\ang)})
            --++(\ang:\rs);

            \draw ({\bx+\rs*cos(90+\ang)},{\by+\rs*sin(90+\ang)})
            --++(\ang:\rs);
        \end{scope}

        \node[left, align=center, text width=1.5cm] at (0,0) {$V$\\{\tiny Volume of cavity}};
        \node at (\ang:\rb) {$A$};
        \node [align=center, text width=1.5cm] at (\bx,\by) {\tiny Area of opening};
        \node [above,align=left] at (.2,\rb) {\tiny Length of \\\tiny opening port};
        \draw [black!50!white,-latex,line width=.15cm] (\ang:\rb*0.8)--++(\ang:-1);

        \draw [black!50!white,-latex,line width=.15cm] (\ang:\rb*1.4)--++(\ang:1);

        \draw [latex-latex]
    (\ax,\ay)++(90+\ang:-\rs/5)++ (\ang:-\rs)--++(\ang:2*\rs) node[midway,sloped, above]{$L$};

        \draw [dashed, help lines] 
        (\ax,\ay)++(\ang:-\rs)--++(270+\ang:2*\rs+\sep)
        (\ax,\ay)++(\ang:\rs)--++(270+\ang:2*\rs+\sep);
    \end{tikzpicture}
\end{document}

输出结果如下: 在此处输入图片描述

这并不是您所要求的,但我希望它能有所帮助!

附言:

ang是光圈的角度
rs是小圆的半径
rb是大圆的半径
sep是开口的宽度

相关内容