在 Tikz 中绘制半椭圆

在 Tikz 中绘制半椭圆

我们如何使用 Tikz 绘制半椭圆?例如,我有以下绘图,我想删除(或隐藏)椭圆的一部分。

\documentclass[border=3pt]{standalone}
\usepackage{tikz}

\begin{tikzpicture}
    \draw (0,0) ellipse (2cm and 1cm);
\end{tikzpicture}
\end{document} 

答案1

当然你也可以用 画半个椭圆arc。语法是arc(<start angle>:<end angle>:<radius X> and <radius Y>),下面是两个例子。

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
 \draw (0,0) arc(0:180:2cm and 1cm);
 \draw (4,0) arc(90:270:2cm and 1cm);
\end{tikzpicture}
\end{document}

enter image description here

答案2

如果您想删除现有椭圆的一部分,除了 marmot 响应之外,还有一个\clip命令允许您划定以下所有路径的绘图区域。这样就可以删除椭圆的任何部分。

在下面的例子中,绿色区域是划定以下图纸的区域。

这里用命令构建了椭圆circle

ellipse-clip

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\begin{scope}
\fill[green](-1,0)rectangle(1,.5);
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}

\begin{scope}[xshift=3cm]
\clip(-1,0)rectangle(1,.5);
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}

\begin{scope}[shift={(0,-2)}]
\fill[green](-1,-.5)rectangle(0,.5);
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}

\begin{scope}[shift={(3,-2)}]
\clip(-1,-.5)rectangle(0,.5);
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}

\begin{scope}[shift={(0,-4)}]
\fill[green](0,-1)--(100:.8)--(-20:1.2)--cycle;
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}

\begin{scope}[shift={(3,-4)}]
\clip(0,-1)--(100:1.2)--(-20:1.2)--cycle;
\draw (0,0) circle [x radius=1cm, y radius=5mm];
\end{scope}
\end{tikzpicture}
\end{document}

相关内容