如何使用 TikZ 绘制远离弯曲点的抛物线的一小部分

如何使用 TikZ 绘制远离弯曲点的抛物线的一小部分

我想只画出一部分parabola(远离弯曲点),然后通过连接其中四个来制作星形。parabola我见过的所有 s 示例都包含弯曲点。我认为绘制一小部分的解决方案parabolaclip棘手,但我不知道如何旋转并将它们局部连接起来。

正是我想要使用以下由四个抛物线包围的面积,或者fill使用clip它。

\begin{tikzpicture}
\draw(0,0)  parabola [parabola height =3cm](4,0) node[midway, above]{aaaa};
\draw[rotate={180}](2,-2) parabola [parabola height =3cm](6,-2);
\draw[rotate=90](0,0) parabola [parabola height =3cm](4,0) ;
\draw[rotate={-90}](-2,-2) parabola [parabola height =3cm](2,-2);
\end{tikzpicture}

label另外,我对中间的位置有疑问parabola。这是我想要的: 在此处输入图片描述

如何绘制仅彩色的区域?

答案1

我们可以组合两个抛物线,这样就只有两条路径。我们可以将这些路径输入到PGFlots'fillbetweenbackgrounds库提供了 background图层,这样我们就不必与路径交互两次。(第二张图提供了一种解决方案,它不将填充放在背景层上 - 因此可能放在其他东西后面。)

ext.paths.timer我的图书馆tikz-ext包裹为路径操作提供计时器parabola

代码

\documentclass[tikz]{standalone}
\usepackage{pgfplots}\pgfplotsset{compat=newest}
\usetikzlibrary{ext.paths.timer, backgrounds, pgfplots.fillbetween}
\begin{document}
\begin{tikzpicture}[bend pos=.5, bend={+(0,3)}]
\draw [name path=A] {[rotate=90] (4,0) parabola (0,0)}
                                       parabola (4,0) node[above, midway]{aaaa};
\draw [name path=B, shift={(-2,2)}, rotate=180]
                    {[rotate=90] (4,0) parabola (0,0)}
                                       parabola (4,0);
\tikzfillbetween[
  of={A and B},
  split, every even segment/.style=path only,
  on layer=background] {yellow}
\end{tikzpicture}

\tikz[bend pos=.5, bend={+(0,3)}]
\path (0,0) edge[name path global=A, to path={
   {[rotate=90] (4,0) parabola (0,0)}
                      parabola (4,0) node[above, midway]{aaaa}}] (0,0)
      (0,0) edge[shift={(-2,2)}, rotate=180, name path global=B, to path={
   {[rotate=90] (4,0) parabola (0,0)}
                      parabola (4,0)}] (0,0)
  [fill=yellow, intersection segments={of=A and B, sequence=L2 -- R2}];
\end{document}

输出

在此处输入图片描述

相关内容