2
$\begingroup$

I have the following plot obtained using ParametricPlot3D:

enter image description here

obtained via the following code:

eq=r^4 \[Delta] U[r]+((-12.+1. r^2) (U')[r])/r+(12. -1. r^2) (U'')[r]+r (0.217447 r^3+(-9.+2. r^2) Derivative[3][U][r]+(5. r+1. r^3) Derivative[4][U][r]+3.75 Derivative[5][U][r]-3.875 r^2 Derivative[5][U][r]-3.75 r Derivative[6][U][r]-1.9375 r^3 Derivative[6][U][r]+1.875 r^2 Derivative[7][U][r]+0.9375 r^3 Derivative[8][U][r])==0;

bc1=0.00321641 +(U')[0.47619]+0.257819 Derivative[3][U][0.47619]+0.0443751 Derivative[6][U][0.47619]+0.0138672 Derivative[7][U][0.47619]==0.47619 (U'')[0.47619]+0.0473334 Derivative[4][U][0.47619]+0.195343 Derivative[5][U][0.47619];

bc2=12.0217 +0.212499 (U')[3.80952]+17.5963 Derivative[3][U][3.80952]+84.3103 Derivative[4][U][3.80952]+35.2175 Derivative[5][U][3.80952]-79.0409 Derivative[6][U][3.80952]-51.8301 Derivative[7][U][3.80952]==0.80952 (U'')[3.80952];

bc3=(U'')[0.47619]==Derivative[3][U][0.47619];

bc4=U''[3.80952]+Derivative[3][U][3.80952]==0;

bc5=U[3.80952]==0;

bc6=U'[3.80952]==0;

bc7=U[0.47619]==0;

bc8=U'[0.47619]==0;

sysNL=eq&&bc1&&bc2&&bc3&&bc4&&bc5&&bc6&&bc7&&bc8;

sL=ParametricNDSolve[sysNL,U,{r,0.47619,3.80952},{\[Delta]}];

listd=Table[i,{i,0.015,8.35,4}];

plL3D=ParametricPlot3D[Evaluate[Table[{r Cos[\[Theta]],r Sin[\[Theta]],(U[listd[[i]]][r]/.sL)},{i,1,Length[listd]}]],{r,0.47619,3.80952},{\[Theta],0,2Pi},PlotRange->{All,{0,4},All},BoxRatios->{1,1,1/2},PlotTheme->"Detailed",PlotPoints->200,MaxRecursion->6,Mesh->7]

As you can see, there are some annoying "extra" mesh lines on the upper surface probably caused by the overlap with the surfaces below. I have tried increasing the number of PlotPoints, but they won't seem to go away (actually when rotating the 3D plot they sometimes disappear while some others form). How can I avoid this unpleasant rendering?

$\endgroup$
2
  • 2
    $\begingroup$ Please edit the question and include the complete Mathematica code to reproduce your plot. Otherwise, it is difficult to provide any useful solution. $\endgroup$
    – Domen
    Commented May 30 at 14:54
  • 1
    $\begingroup$ I have now edited the question including the code. $\endgroup$
    – annuk89
    Commented May 30 at 15:10

1 Answer 1

4
$\begingroup$

Try a different rendering engine:

Style[plL3D, 
 "RenderingOptions" -> {"Graphics3DRenderingEngine" -> "BSPTree"}]

enter image description here

You can also use the BaseStyle option in the plot command:

plL3D = ParametricPlot3D[
  Evaluate[
   Table[{r  Cos[\[Theta]], 
     r  Sin[\[Theta]], (U[listd[[i]]][r] /. sL)}, {i, 1, 
     Length[listd]}]], {r, 0.47619, 3.80952}, {\[Theta], 0, 2 Pi}, 
  PlotRange -> {All, {0, 4}, All}, BoxRatios -> {1, 1, 1/2}, 
  PlotTheme -> "Detailed", PlotPoints -> 200, MaxRecursion -> 6, 
  Mesh -> 7, 
  BaseStyle -> {"RenderingOptions" -> {"Graphics3DRenderingEngine" -> 
       "BSPTree"}}]
$\endgroup$
1
  • $\begingroup$ Brilliant, thank you! :) $\endgroup$
    – annuk89
    Commented May 31 at 6:48

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.