0
$\begingroup$

I am using ParametricPlot to plot some orbits I'm working on. So, suppose I want to plot a circular orbit. Everything works perfect and this is what I get: enter image description here

Now, if I plot a longer circular orbit, i.e. an orbit that runs for a longer time, this is what I get: enter image description here

However, the radial coordinate is constant, as I can see from the plot of the radius: enter image description here

So it seems that ParametricPlot messes up the plot in the long run. It took me some time to realize this, since I'm working with more complicate orbits than these circular ones.

So is there any way I can plot the actual orbits and not these weirds things I get when the parameter is very big?

$\endgroup$
3
  • 1
    $\begingroup$ You might get better help if you include your code. $\endgroup$
    – Chris K
    Feb 27, 2018 at 4:07
  • 1
    $\begingroup$ Increase PlotPoints. You need to have several points per revolution. $\endgroup$
    – Michael E2
    Feb 27, 2018 at 4:11
  • $\begingroup$ That happens even if you plot {Cos[t],Sin[t]} for very large t. $\endgroup$
    – Thiago
    Feb 27, 2018 at 4:11

2 Answers 2

4
$\begingroup$

An alternative to increasing PlotPoints or MaxRecursion is to use points instead of lines:

ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line->Point

enter image description here

To make the points smaller you could use:

ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line[x_] -> {AbsolutePointSize[1], Point[x]}

enter image description here

$\endgroup$
2
  • $\begingroup$ Thank you! How do I adjust the thickness of the points? $\endgroup$
    – Thiago
    Feb 27, 2018 at 16:08
  • $\begingroup$ Or you can convert back to a line using FindCurvePath: ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line[pts_] :> Line[pts[[FindCurvePath[pts][[1]]]]] $\endgroup$
    – Bob Hanlon
    Feb 27, 2018 at 17:08
3
$\begingroup$

As suggested by Michael E2, use the option PlotPoints EDIT and/or as suggested byAkku14 use the option MaxRecursion

EDIT

Manipulate[
 ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}, PlotPoints -> pp, 
  MaxRecursion -> mr], {{pp, Automatic, "PlotPoints"}, 
  Prepend[Range[100, 900, 200], Automatic], 
  ControlType -> SetterBar}, {{mr, Automatic, "MaxRecursion"}, 
  Prepend[Range[2, 14, 2], Automatic], ControlType -> SetterBar}]

enter image description here

$\endgroup$
2
  • $\begingroup$ You get the same good result without changing PlotPoints, but with MaxRecursion -> 10 $\endgroup$
    – Akku14
    Feb 27, 2018 at 7:52
  • $\begingroup$ @Akku14 - Thanks. Edited to include use of MaxRecursion $\endgroup$
    – Bob Hanlon
    Feb 27, 2018 at 15:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.