I use two different radii in a Tube expression to draw a cone. I know for a fact that this worked in Mathematica 8, but when I reevaluated my code in versio 9.0.1

Graphics3D[{CapForm["Butt"], Tube[{{0, 0, 2}, {0, 0, 4}}, {2, 4}]}]

which looks like this I get a tube

"Butt" gives no cone.


Graphics3D[{CapForm[None], Tube[{{0, 0, 2}, {0, 0, 4}}, {2, 4}]}]

returns open cones, which is not what I want

None gives a cone but is open

The Help does not indicate that any changes have been applied in version 9.


Thanks for the comments. The error has been reported. Below a summary of Mathematica's behavior.

Graphics3D[{Opacity[0.6], CapForm["Square"], #, CapForm[None], #,
CapForm["Butt"], #}] & @ Tube[{{0, 0, 2}, {0, 0, 4}}, {2, 4}]

Summary of CapForm error.

  • 2
    $\begingroup$ The problem only exists for CapForm["Butt"]--the other CapForms work correctly. Also, pasting the graphic generated in version 8 into version 9 yields the same result that version 9 produces on its own--that is, the expression is identical; it's just that its interpretation for display appears to differ between them. $\endgroup$ – Oleksandr R. Feb 13 '13 at 17:39
  • 1
    $\begingroup$ Thanks for the comments and the workaround, I came up with another solution, but I have to admitt that 'Disk3D' had eluded me. I will reprot this as an error to Wolfram. $\endgroup$ – Ernst Stelzer Feb 14 '13 at 7:13

Workaround until bug is fixed:

pts = {{0, 0, 2}, {0, 0, 4}};
r = {2, 4};
Disk3D[c_, d_, r_: 1] := Cylinder[{c, c + 10^-4 (c-d)}, r]
  Disk3D[First@pts, pts[[2]], First@r],
  Disk3D[Last@pts, pts[[-2]], Last@r],
  Tube[pts, r]}]

(Is there a more pure way to make a disk in 3D that doesn't rely on fixed constant like 10^-4 that might be way too big at times?)

| improve this answer | |
  • $\begingroup$ I described a method to make a nice smooth circle in 3D here. Unfortunately, due to FilledCurve being 2D only, this circle could not be filled in 3D. $\endgroup$ – Sjoerd C. de Vries Feb 13 '13 at 22:13
  • $\begingroup$ Can you try Graphics3D[{CapForm[None], EdgeForm[None], {CapForm["Butt"], MapThread[Tube[{#1, #1}, {#2, #2}] &, {pts, r}]}, Tube[pts, r]}] in version 9? $\endgroup$ – J. M.'s discontentment Apr 13 '13 at 2:31
  • $\begingroup$ @J.M. Sorry, I only have v8 $\endgroup$ – ssch Apr 15 '13 at 12:25

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.