系统图形绘制

系统图形绘制

我想用系统生成图表:

\begin{tikzpicture}
\begin{axis}[axis equal,
axis lines=middle,
axis line style={->},
tick style={color=black},
xtick=\empty,
ytick=\empty
]

\addplot[samples=360, domain=0:2*pi] 
({x = sin(t)*a^sin(t)+x_0}, {y = cos(t)*b^sin(t)+y_0});
\end{axis}
\end{tikzpicture}

本系统

{ x = sin(t)*a^sin(t) + x_0

{ y = cos(t)*b^sin(t) + y_0

答案1

你实际上离解决方案并不远。pgfplots让你用语法绘制参数图

\addplot ({<expression for x}, {<expression for y>});

其中 x 和 y 的表达式是方程的右侧。要用作t绘图变量,请指定variable=t。此外,请注意,的三角函数pgf默认将度数作为输入,因此您需要手动转换为弧度,或指定trig format plots=rad将弧度设为默认值。最后,参数ab x_0y_0您可以用数字替换,也可以使用declare function下面的示例来定义它们。

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}

\begin{tikzpicture}[
declare function={
 a=1;
 b=1;
 x_0=0;
 y_0=0;
}]
\begin{axis}[axis equal,
axis lines=middle,
axis line style={->},
tick style={color=black},
xtick=\empty,
ytick=\empty,
trig format plots=rad
]

\addplot[samples=360, domain=0:2*pi, variable=t] 
({sin(t)*a^sin(t)+x_0}, {cos(t)*b^sin(t)+y_0});
\end{axis}
\end{tikzpicture}
\end{document}

相关内容