5
$\begingroup$
 (* Dini (with Graphics error)*) 

 R = 2; 
 r = 1;

 X[u_] = R Sin[u];
 Z[u_] = -R (Cos[u] + Log[Tan[u/2]]); 

 ParametricPlot[{Z[u], X[u]}, {u, -Pi, Pi}, PlotLabel -> "PRE-TWIST MERIDIAN"] 

 h = 0; 
 ParametricPlot3D[{X[u] Cos[v], Z[u] + 0 h v, X[u] Sin[v]}, 
   {u, -Pi, Pi}, {v, 0, 3 Pi}, PlotLabel -> "MERIDIAN SWEPT AROUND Z-AXIS"]

 h = 1.5; 
 ParametricPlot3D[{X[u] Cos[v], Z[u] + h v,  X[u] Sin[v]}, 
  {u,-Pi,Pi}, {v, 0, 3 Pi}, Boxed -> False, Axes -> None, 
  PlotLabel ->"POST-TWIST ( h v) REVOLVED MERIDIAN"]

The knife edge graphics remanant shown below on untwisted meridian does not vanish unless the pseudosphere is twisted to a Dini.No such problems with PP3D in earlier Mathematica versions.

EDIT1:

WhyMeridianPlanePlotted

$\endgroup$
  • $\begingroup$ Z[Pi] -> - Infinity, {u, -.99 Pi, .99 Pi} will fix this. $\endgroup$ – Kuba Jan 11 '17 at 11:14
  • $\begingroup$ Jawohl. How but how come it was removed in earlier versions ? Mine is v11. $\endgroup$ – Narasimham Jan 11 '17 at 11:20
  • $\begingroup$ I am not an expert so don't quote me but it may be that sampling algorithms are different or exclusion/edge cases were handled differently. $\endgroup$ – Kuba Jan 11 '17 at 11:25
  • $\begingroup$ .. for the worse $\endgroup$ – Narasimham Jan 11 '17 at 14:05
  • 1
    $\begingroup$ Seems like a bug in the mesher. FWIW, PlotPoints -> 45 fixes it for me. $\endgroup$ – Michael E2 Jan 12 '17 at 3:13
3
$\begingroup$

Aside from increasing the plot points to PlotPoints -> 45, here's a way to delete the polygons that have long edges:

pl = ParametricPlot3D[{X[u] Cos[v], Z[u] + 0 h v, 
    X[u] Sin[v]}, {u, -Pi, Pi}, {v, 0, 3 Pi}, 
   PlotLabel -> "MERIDIAN SWEPT AROUND Z-AXIS"];
cliplen = 2;
With[{pts = pl[[1, 1]]},
 pl /. Polygon[polys_] :> Polygon@Pick[
     polys,
     Map[
      UnitStep[Max[EuclideanDistance @@@ Partition[pts[[#]], 2, 1, 1]] - cliplen] &,
      polys,
      {-2}],
     0]
 ]

Mathematica graphics

ParametricPlot3D also does the correct meshing of the surface if the second coordinate is Z[u]/10 instead of Z[u] in the OP's code.

I'm not sure why what seem to possibly be scale issues (second coordinate rather large than the other two) would cause such trouble. Setting Exclusions -> {Sin[u/2] == 0, Cos[u/2] == 0}, where the function has singularities, changes the graph but does not fix it.

$\endgroup$
  • $\begingroup$ User works around for bug of CAS !? $\endgroup$ – Narasimham Jan 12 '17 at 9:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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