4
$\begingroup$

From the beginning: I have function $u(r)$ and radial symmetry in system. Also I've got results as data array ${u_i(r_i)}$. And I want to plot it as $u(x,y)$. Due to radial symmetry its gonna be like $x=r \cos(\varphi), y=r \sin(\varphi)$ In other words I have function profile and want to "integrate" it over $2\pi\,\mathrm d\varphi$. Like this for Gaussian

$\endgroup$
4
  • $\begingroup$ Welcome to Mathematica.SE! I suggest that: 1) You take the introductory Tour now! 2) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! 3) As you receive help, try to give it too, by answering questions in your area of expertise. $\endgroup$
    – bbgodfrey
    May 19, 2015 at 18:50
  • $\begingroup$ Use RevolutionPlot3D[] instead. $\endgroup$ May 19, 2015 at 19:03
  • $\begingroup$ Have you looked at ParametricPlot3D? I believe it can be applied. $\endgroup$
    – Mr.Wizard
    May 19, 2015 at 19:04
  • $\begingroup$ All this works if I have a rule for my U(r) -> U(x,y). But I have to assign a numerical value from list of already obtained values to new rule for (x,y) to build concentric circles. Maybe I'm missing something.I'm novice in mathematica, all my knowledges based on F1 help $\endgroup$ May 19, 2015 at 19:28

1 Answer 1

6
$\begingroup$

One option would be to use RevolutionPlot3D.

u = Table[Sin[2 \[Pi]*r], {r, 0, 1, 0.1}]; (*u is a dummy u[r]*)
f = ListInterpolation[u, {0, 1}]; (*Create an interpolating function over the range {0,1}*)
(*Plot it over the domain.*)
RevolutionPlot3D[f[r], {r, #1, #2}] & @@@ f["Domain"]

enter image description here

You could also generate the points yourself and use ListPointPlot3D

u = Table[{r, Sin[2 \[Pi]*r]}, {r, 0, 1, 0.1}];(*table of {r,u[r]}*)
xyz = Flatten[Table[{#1*Cos[\[Theta]], #1*Sin[\[Theta]], #2} & @@@ u, {\[Theta],0, 2 \[Pi], 2 \[Pi]/100} ], 1];
ListPointPlot3D[
 xyz
 , Filling -> Axis
 ]

enter image description here

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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