我想在同一个 xy 窗格上绘制一些参数曲线。曲线是 (\gamma_r(t)=(\dfrac{(r成本 t + 0.5)(0.5 r成本 t +1)-r^2sin^2 t}{(0.5r成本 t +1)^2 +r^2sin^2 t} , \dfrac{0.75 r正弦t}{(0.5r成本 t +1)^2 +r^2sin^2 t})) 其中 (-\pi<t<\pi) 和 (r=1, 1/2, 1/3 , 1/4, 1/5, 1/6 ,1/7, 1/8, 1/9)。
谢谢!
答案1
您几乎可以直接取出表达式并绘制它们。您只需将隐式乘法更改为显式乘法,,*
添加几个括号,并在最简单的实现中将t
和更改r
为\t
和\r
。您也可以使用pow
而不是,^
因为后者有一些意想不到的符号约定。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[trig format=rad,scale=3,
declare function={%
gammarx(\r,\t)=((\r*cos(\t)+0.5)*(0.5*\r*cos(\t)+1)-pow(\r*sin(\t),2)/%
(pow(0.5*\r*cos(\t)+1,2)+pow(\r*sin(\t),2));
gammary(\r,\t)=(0.75*\r*sin(\t))/(pow(0.5*\r*cos(\t)+1,2)+pow(\r*sin(\t),2));}]
\foreach \r in {1/2, 1/3 , 1/4, 1/5, 1/6 ,1/7, 1/8, 1/9}
{\draw plot[smooth,variable=\t,domain=-pi:pi]
({gammarx(\r,\t)},{gammary(\r,\t)});}
\end{tikzpicture}
\end{document}
pgfplots
专门用于此类绘图,因此您可以使用例如
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[declare function={%
gammarx(\r,\t)=((\r*cos(\t)+0.5)*(0.5*\r*cos(\t)+1)-pow(\r*sin(\t),2)/%
(pow(0.5*\r*cos(\t)+1,2)+pow(\r*sin(\t),2));
gammary(\r,\t)=(0.75*\r*sin(\t))/(pow(0.5*\r*cos(\t)+1,2)+pow(\r*sin(\t),2));}]
\begin{axis}[trig format plots=rad]
\pgfplotsinvokeforeach{1/2, 1/3 , 1/4, 1/5, 1/6 ,1/7, 1/8, 1/9}
{\addplot[smooth,variable=\t,domain=-pi:pi]
({gammarx(#1,\t)},{gammary(#1,\t)});}
\end{axis}
\end{tikzpicture}
\end{document}