绘制一组二维参数曲线

绘制一组二维参数曲线

我想在同一个 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}

在此处输入图片描述

相关内容