我希望绘制由参数方程 x = 1+sin t,y = 3 + 3(cos t)^3 定义的曲线,使得该曲线所包围的区域被阴影化。就代码而言,我似乎无法在网上找到类似的示例来帮助我,所以我没有一个可以开始工作的起点。任何绘制此曲线的帮助都将不胜感激。我想要一组与之配合的基本轴,标记为 x 和 y,并用 O 标记原点。
答案1
另一种不使用的方法\clip
如下:
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[blue] plot[smooth,domain=-90:90,variable=\t] ({1+sin(\t)},{3 + 3(cos \t)^3})
plot[smooth,domain=90:270,variable=\t] ({1+sin(\t)},{3 + 3(cos \t)^3});
\draw[-latex] (0,0) node[left] {$O$}-- (3,0) node[below]{$x$};
\draw[-latex] (0,0) -- (0,2) node[left]{$y$};
\end{tikzpicture}
\end{document}
答案2
错误已更正,感谢 Franck Pastor!
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[-latex] (0,0) node[left] {$O$}-- (3,0) node[below]{$x$};
\draw[-latex] (0,0) -- (0,6) node[left]{$y$};
\clip plot[smooth,samples=36,domain=0:360,variable=\t] ({1+sin(\t)},{3 + 3*(cos
(\t))^3});
\draw[fill=blue,opacity=0.8] (0,0) rectangle (2,6);
\end{tikzpicture}
\end{center}
\end{document}
答案3
以下是使用 MetaPost 的尝试,为方便起见,将其插入 LuaLaTeX 程序中。使用 MetaPost,可以关闭参数曲线,然后通过使其成为一个循环(.. cycle
指令)来填充它,就在它即将连接自身时。
\documentclass[border=3mm]{standalone}
\usepackage{luatex85, luamplib}
\begin{document}
\begin{mplibcode}
u := cm; xmax = 2.25; ymax = 6.25;
vardef f(expr t) = 1 + sind t enddef;
vardef g(expr t) = 3 + 3((cosd t)**3) enddef;
path curve;
beginfig(1);
% Axes and Labels
drawarrow origin -- (xmax*u, 0);
label.llft(btex $O$ etex, origin);
label.bot(btex $x$ etex, (xmax*u, 0));
drawarrow origin -- (0, ymax*u);
label.lft(btex $y$ etex, (0, ymax*u));
% Filled Curve
curve = ((f(0), g(0)) for t = 1 upto 359: .. (f(t), g(t)) endfor .. cycle) scaled u;
fill curve withcolor blue;
endfig;
\end{mplibcode}
\end{document}
答案4
下面是另一种使用方法\filldraw
:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[-latex] (0,0) node[left] {$O$}-- (3,0) node[below]{$x$};
\draw[-latex] (0,0) -- (0,6) node[left]{$y$};
\filldraw[blue!80] plot[smooth,samples=36,domain=0:360,variable=\t] ({1+sin(\t)},{3 + 3*(cos
(\t))^3});
\end{tikzpicture}
\end{center}
\end{document}