Message Boards Message Boards

[✓] Plot a circle with infinite radius in Wolfram Language?

GROUPS:

Hello everyone!

The other day, a friend of mine mentioned me that a Circle with infinite radius has as a diameter a line, and I went online and found that it happens to be true: https://math.stackexchange.com/questions/82220/a-circle-with-infinite-radius-is-a-line

So I was wondering if anyone has been able to demostrate that with the Wolfram Language in a graphical way?

I tried doing this:

Graphics[Circle[{0, 0}, \[Infinity]]]

But have had no luck so far.

Thanks!

POSTED BY: Jose Escudero
Answer
4 months ago

It seems arguable to me whether geometrically a circle with an infinite radius is a line. For Graphics[Circle[{0, 0}, Infinity]] or even Graphics[Circle[{x, y}, Infinity]], conceived as the limit of Graphics[Circle[{x, y}, r]] as r -> Infinity, might be interpreted to represent the line at infinity in the projective plane. In the Euclidean plane, the limit of the circle has no meaning.

It seems to me that one obtains a line as the limit of a circle in the algebraic setting f[x, y, a] == 0, where f[...] == 0 gives the equation of a circle depending on a parameter a, which might be the radius or have some other relationship to the circle such as the reciprocal of the radius.

For as instance the radius 1/a in the following goes to infinity (as a -> 0), the circle becomes a line, which might be the sort of demonstration you're after:

Manipulate[
 ContourPlot[
  a x^2 - 2 x + a y^2 == 0, {x, -0.2, 4.}, {y, -2.1, 2.1}],
 {{a, 1.}, 0., 2.}
 ]
POSTED BY: Michael Rogers
Answer
4 months ago

Ya, I think that's it! Thanks, @Michael Rogers !

Do you know why when dragging the slider makes the circle looks a bit like a cube? and when I stop sliding it actually shows as a circle? (Obviously excluding when the circle actually becomes a line.)

POSTED BY: Jose Escudero
Answer
4 months ago

The default behavior dynamical updating system of Manipulate is to change certain settings that tend to speed up a computation when a control is being actively manipulated. For instance, it sets $ControlActive to True and $PerformancGoal to "Speed" For plots, this lowers the number of points of the graph computed by lowering MaxRecursion to 0. For other plotters, PlotPoints might be lowered, but that does not seem to be the case.

One can override the default in either of the two ways:

Manipulate[
 Block[{$PerformanceGoal = "Quality"},
  ContourPlot[a x^2 - 2 x + a y^2 == 0,
   {x, -0.2, 4.}, {y, -2.1, 2.1}]
  ],
 {{a, 1.}, 0., 2.}
 ]

Manipulate[
 ContourPlot[a x^2 - 2 x + a y^2 == 0,
  {x, -0.2, 4.}, {y, -2.1, 2.1},
  MaxRecursion -> 2],
 {{a, 1.}, 0., 2.}
 ]

Both methods work fast enough in this case. In general, one can exercise finer control by using $ControlActive:

MaxRecursion -> If[$ControlActive, 1, 2]
POSTED BY: Michael Rogers
Answer
4 months ago

Group Abstract Group Abstract