使用 TikZ 制作椭圆

使用 TikZ 制作椭圆

我刚刚发现如何使用 TikZ 制作图形,我不知道如何实现这些椭圆。有人可以教我吗?

https://ibb.co/2tHw0qx

答案1

对于线条和填充,您必须在绘制椭圆后定义一个clipping窗口并使用。fillbetween

这些线是使用in ... out表示线进出定义点的角度的语法来定义的。

\documentclass[border=5pt]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{fillbetween}

\begin{document}
    \begin{tikzpicture}
        
        % first picture
        
        \begin{scope}
            \clip (0,0) ellipse [x radius=2, y radius=1];
            \path[name path=a] (0,0) ellipse [x radius=2, y radius=1];
                        
            \draw (0,0) ellipse [x radius=2, y radius=1];
            
            \foreach \i/\j in {-1.75/$A_1$,-0.75/$A_2$,0.25/$A_3$,1/$\dots$,1.75/$A_p$}{%
                \draw[black] (\i,-1) to[out=45, in=315] (\i,1);
                \node[black] at (\i,0) {\j};
            }       
        
        \end{scope}
    
        % second picture
    
        \begin{scope}
            \clip (0,-4) ellipse [x radius=2, y radius=1];
            \path[name path=a] (0,-4) ellipse [x radius=2, y radius=1];
            \path[name path=b] (0,-5) to[out=135, in=315] (0,-3);
            
            \draw [fill=blue!50!white] (0,-4) ellipse [x radius=2, y radius=1];
            
            \draw [fill=orange!50!white,
            intersection segments={
                of=a and b,
                sequence={L2--R2}
            }
            ];          
        \end{scope}
        
        \node[black, above] at (0,-3) {E};
        \node[black] at (-1,-4) {A};
        \node[black] at (1,-4) {$\mathrm{\bar{A}}$};
        
    \end{tikzpicture}   
\end{document}

在此处输入图片描述

答案2

另一种解决方案是不对第二个椭圆进行剪辑,以防万一。

在此处输入图片描述

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
    \begin{tikzpicture}

        \draw[fill=pink] (90:3 and 1.5) node[above]{$E$} to[out=-135,in=45] (-90:3 and 1.5) arc (-90:90:3 and 1.5);
        \draw[fill=orange] (90:3 and 1.5) to[out=-135,in=45] (-90:3 and 1.5) arc (-90:-270:3 and 1.5);
        
        \path (180:1.5) node {$A$} -- (0:1.5) node {$\overline{A}$};
    \end{tikzpicture}
\end{document}

相关内容