Message Boards Message Boards

0
|
4905 Views
|
4 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Full-range plotting with ParametricPlot?

Posted 5 years ago

A puzzle with ParametricPlot. The first plot masks part of the range, but nevertheless plots test points in the masked area. Can I get rid of the mask? The second plot shows no mask(s), but I don't know why it works. Can I get an informed comment? Thanks for your time,

Whiffee Bollenbach

d2 = ImplicitRegion[
   0 <= x < \[Infinity] \[And] -\[Infinity] < y < \[Infinity], {x, y}];

p2 = ParametricPlot[
   Through[{Re, Im}[(x + I y)^0.5]], {x, y} \[Element] d2, 
   PlotRange -> {{-1, 3.5}, {-3, 3}}, Frame -> True, ImageSize -> 200,
    AspectRatio -> Automatic, 
   Epilog -> {{Blue, PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> -10}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> -10}}]}, {Red, 
      PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> -1}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> -1}}]}, {Black, 
      PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> 1}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> 1}}]}}];

p3 = ParametricPlot[
   Through[{Re, Im}[x + (I y)^3.5]], {x, y} \[Element] d2, 
   PlotRange -> {{-1, 3.5}, {-3, 3}}, Frame -> True, ImageSize -> 200,
    AspectRatio -> Automatic, 
   Epilog -> {{Blue, PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> -10}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> -10}}]}, {Red, 
      PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> -1}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> -1}}]}, {Black, 
      PointSize[0.025], 
      Point[{Re[(x + I y)^0.5] /. {x -> 0, y -> 1}, 
        Im[(x + I y)^0.5] /. {x -> 0, y -> 1}}]}}];

Row[{p2, p3}]
4 Replies

You are using an unbounded region. It seems that Mathematica will automatically truncate it:

Show[Region@
  ImplicitRegion[
   0 <= x < \[Infinity] \[And] -\[Infinity] < y < \[Infinity], {x, 
    y}], Frame -> True, PlotRange -> 5]
Show[DiscretizeRegion@
  ImplicitRegion[
   0 <= x < \[Infinity] \[And] -\[Infinity] < y < \[Infinity], {x, 
    y}], Frame -> True, PlotRange -> 5]

Give a suitably bounded and discretized (why?) region to ParametricPlot:

d2 = DiscretizeRegion@
   ImplicitRegion[0 <= x < 50 \[And] -30 < y < 30, {x, y}];
ParametricPlot[ReIm[(x + I y)^0.5], {x, y} \[Element] d2, 
 PlotRange -> {{-1, 3.5}, {-3, 3}}, Frame -> True, ImageSize -> 200, 
 AspectRatio -> Automatic]
POSTED BY: Gianluca Gorni

You may have just misplaced a parenthesis in x + (I y)^3.5:

ParametricPlot[ReIm[(x + I y)^3.5], {x, y} \[Element] d2, 
 PlotRange -> {{-1, 3.5}, {-3, 3}}, Frame -> True, 
 AspectRatio -> Automatic, 
 Epilog -> {{Blue, PointSize[0.025], 
    Point[ReIm[(x + I y)^0.5] /. {{x -> 0, y -> -10}, {x -> 0, 
        y -> -1}, {x -> 0, y -> 1}}]}}]
POSTED BY: Gianluca Gorni

Thanks for reply. The parenthesis was not misplaced. The question is how to get the square root function to show full range in ParametricPlot. The 3.5 exponent on imaginary was just a kludge, but if made general, it saturates the plot.

Excellent. One little prefix function makes all the difference. I will update my toolkit accordingly. Thank you.

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract