Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I'm trying to generate Riemann surfaces of higher order. I read How to visualize Riemann surfaces?, and the subsequent documents. I'm able to reproduce the surface using polar representation, but I'm having a difficult time generating them using rectangular coordinates, for roots greater then 2. So far what I have is:

p1 =
  Plot3D[{Im[(x + I*y)^(1/2)], -Im[(x + I*y)^(1/2)]}, {x, -2, 2}, {y, -2, 2},
    PlotPoints -> {40, 120}, Mesh -> 25, BoxRatios -> {2, 2, 2},
    ColorFunction -> Function[{x, y, z}, Hue[z]]]

p2 =
  ParametricPlot3D[
    Evaluate[({r Cos[#1], 0, (r)^(1/3) Sin[#1/3]} &) /@ {0, π,2 π, 3 π}],
    {r, 0, 2},
    PlotStyle -> {{Black, AbsoluteThickness[5]}}]

Show[p1, p2]

enter image description here

Rectangular coordinates and branches in black

p3 =
  ParametricPlot3D[{r Cos[φ], r Sin[φ], r^(1/2) Sin[φ/2]}, {r, 0, 1}, {φ, 0, 4 π},
    ColorFunction ->
      Function[{x, y, z, r, φ, θ}, {Specularity[#], Glow[#]}& @ Hue[Rescale[φ, {0, 1}]]],
    PlotPoints -> {20, 60}, Mesh -> 25]

Show[p3, p2]

enter image description here

Polar coordinates with branches in black

The square roots are both identical. If I go on the cubic roots, the polar representation is the same with a change from 2 to 3, but I don't know how to modify the rectangular code to generate the same surface. So for example:

p4 =
  ParametricPlot3D[{r Cos[φ], r Sin[φ], (r)^(1/3)Sin[φ/3]}, {r, 0, 1}, {φ, 0, 6 π},
    ColorFunction ->
      Function[{x, y, z, r, φ, θ}, {Specularity[#], Glow[#]}& @ Hue[Rescale[φ, {0, 1}]]],
    PlotPoints -> {40, 120},
    Mesh -> 25]

p5 =
  ParametricPlot3D[
    Evaluate[({r Cos[#1], 0, (r)^(1/3) Sin[#1/3]} &) /@ {0, π,2 π, 3 π, 4π, 5π}],
    {r, 0, 2},
    PlotStyle -> {{Black, AbsoluteThickness[5]}}]

Show[p4, p5]

enter image description here

Cubic root in polar with branches in black

I have no idea how to get the same cubic root surface using polar coordinates.

share|improve this question
add comment

1 Answer 1

up vote 2 down vote accepted

I assume when you wrote "I have no idea how to get the same cubic root surface using polar coordinates", you meant rectangular coordinates because you already have the surface in polar coordinates.

In the first plot, p1, you're plotting Im[(x + I*y)^(1/2)] and Im[-(x + I*y)^(1/2)] because $1$ and $-1$ are the two square roots of unity. To plot cube roots, you just have to use the cube roots of unity, namely $1$, $e^{2\pi/3}$, and $e^{4\pi/3}$:

Plot3D[{Im[(x + I*y)^(1/3)], Im[E^(2 I Pi/3) (x + I*y)^(1/3)], Im[E^(4 I Pi/3) (x + I*y)^(1/3)]},
 {x, -2, 2}, {y, -2, 2}, PlotPoints -> {40, 120}, Mesh -> 25, BoxRatios -> {2, 2, 2}, 
 ColorFunction -> Function[{x, y, z}, Hue[z]]]

enter image description here

(I didn't change any of the other options in your plot.)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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