如何使用 tikz 绘制像蝴蝶一样的数学图形

如何使用 tikz 绘制像蝴蝶一样的数学图形

我想用tikz一种简单的方法绘制下图。

在此处输入图片描述

但我不知道如何画出看起来像蝴蝶在数学模式下。用标准绘图制作真正的蝴蝶会更有创意。有人能帮助我吗?

笔记:我正在使用以下设置孟加拉语。如果您觉得处理孟加拉语比较困难,您可以向我展示一种使用英文数字和文字绘制图形的方法。

\documentclass[statementpaper]{memoir}
\usepackage[english]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
% \babelfont[bengali]{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}

% bangla numerals
\babelprovide[maparabic,alph=alphabetic]{bengali}

% fix `matra` in bangla text
\makeatletter
\AtBeginDocument{%
 \def\bbl@mapdir#1{%
   {\def\languagename{#1}%
    \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
    \bbl@switchfont
    \ifnum\fontid\font>\z@
      \directlua{
        Babel.locale_props[\the\csname bbl@id@@#1\endcsname]%
              ['/\bbl@prefontid'] = \fontid\font\space}%
    \fi}}}%
\makeatother

\usepackage[tikz]
\begin{document}

\end{document}

提前致谢。

答案1

这使用拉丁字符。您可以用自己的字符替换\alpha\beta、和。89AB

\documentclass{article}
\usepackage{amsmath} 
\usepackage{tikz} 
\usetikzlibrary{arrows,calc,matrix,shapes.geometric,tikzmark}
\begin{document}
\begin{align*}
 \tikzset{el/.style={ellipse,draw,minimum height=1.5em,minimum width=2.5em}}
 \tikzmarknode[el]{alpha}{\alpha}
 +
 \tikzmarknode[el]{beta}{\beta}&=0\\[1em]
 \begin{tikzpicture}[ampersand replacement=\&,remember picture]
   \matrix[matrix of math nodes,column sep=2em,row sep=2em](m){
    9 \& 8\\
    A \& B \\   
   };
  \draw let \p1=($(m-1-1.north east)-(m-1-1.south west)$),
    \p2=($(m-1-2.north east)-(m-1-2.south west)$),
    \p3=($(m-2-1.north east)-(m-2-1.south west)$),
    \p4=($(m-2-2.north east)-(m-2-2.south west)$),
    \n1={max(\x1,\y1,\x2,\y2,\x3,\y3,\x4,\y4)},
    \p5=($(m-1-2)-(m-2-1)$),
    \n2={scalar(atan2(\y5,\x5))},
    \p6=($(m-2-2)-(m-1-1)$),
    \n3={scalar(atan2(\y6,\x6))},
    in
     ($(m-2-1)+(\n2+90:\n1)$)
    arc[start angle=\n2+90,end angle=\n2+270,radius=\n1]
    -- ($(m-1-2)+(\n2+270:\n1)$)
    arc[start angle=\n2-90,end angle=\n2+90,radius=\n1]
    -- cycle
     ($(m-1-1)+(\n3+90:\n1)$)
    arc[start angle=\n3+90,end angle=\n3+270,radius=\n1]
    -- ($(m-2-2)+(\n3+270:\n1)$)
    arc[start angle=\n3-90,end angle=\n3+90,radius=\n1]
    -- cycle
    [overlay]
    ($(m-1-1)+(110:\n1)$) edge[-*,bend left] (alpha.-100)
    ($(m-1-2)+(70:\n1)$) edge[-*,bend right] (beta.-80);
    ;
 \end{tikzpicture}
\end{align*}
\end{document}

在此处输入图片描述

相关内容