# Create a 3D Plot of a piece of Fusilli pasta

I want to plot a fusilli pasta-like surface. I have seen such a Mathematica-made surface before:

So far, I am able to create normal helical surfaces in the following way:

l = 2;
ParametricPlot3D[{0.1*u Sin[l*t], 0.1*u Cos[l*t], t/(2*Pi)}, {t, 0, 2*Pi}, {u, -1, 1}]


which produces

My question is: How can I build a fusilli helix out of that?

• How do you want the output to be different? What about this ouput: l = 2; ParametricPlot3D[{0.1*u Sin[l*t], 0.1*u Cos[l*t], t/(2*\[Pi])}, {t, 0, 2*\[Pi]}, {u, -1, 1}, Extrusion -> .02, Mesh -> None, Boxed -> False, Axes -> False] – Jason B. Mar 15 '17 at 17:27
• Have you tried combining three helices with a phase shift using Show? I think that's the output you wanted, right? – b3m2a1 Mar 15 '17 at 17:27
• @MB1965 - I missed that there were multiple helices in the pasta (also I think fusili often has those little grooves which hold onto the sauce so well). – Jason B. Mar 15 '17 at 17:32
• @JasonB. I had to look twice myself. Do you know of any simple edit to the parametrization to get grooves in? Must be possible but I can't think of it. – b3m2a1 Mar 15 '17 at 17:33
• You might be interested in Pasta by Design. – J. M.'s ennui Mar 19 '17 at 15:58

Your code is already almost what you need. You just have to combine three surfaces like yours into the same plot - with two slight modifications: The radius u should only go from 0 to 1 and the phase of the two other surfaces has to be shifted by 2/3*Pi and 4/3*Pi, respectively:

l = 2;
ParametricPlot3D[{{0.1*u Sin[l*t], 0.1*u Cos[l*t],t/(2*\[Pi])},
{0.1*u Sin[l*t + 2/3*Pi], 0.1*u Cos[l*t + 2/3*Pi], t/(2*\[Pi])},
{0.1*u Sin[l*t + 4/3*Pi], 0.1*u Cos[l*t + 4/3*Pi], t/(2*\[Pi])}
}, {t, 0, 2*\[Pi]}, {u, 0, 1}]


This yields:

• This is essentially the same so I won't post separate answer, feel free to include it. ParametricPlot3D[Evaluate@Table[ RotationTransform[l + off, {0, 0, 1}]@{r, r, l}, {off, {0, 2 Pi/3, 4 Pi/3}}] , {r, 0, 1} , {l, 0, 10} ] – Kuba Mar 15 '17 at 17:34
• +1 - if you want it to be more pasta-like, you can use the undocumented Extrusion option, and give each surface the same PlotStyle, you can get something like this with your code. – Jason B. Mar 15 '17 at 17:36
• @JasonB. I had no idea Extrusion existed. Where'd you find it? – b3m2a1 Mar 15 '17 at 17:51
• @MB1965 I found it on this site, some question about adding thickness to a ContourPlot3D – Jason B. Mar 15 '17 at 18:07
• @MB1965 Also PlotTheme -> "ThickSurface" which is documented. – Edmund Mar 15 '17 at 19:25