Function Repository Resource:

# CurveTube

Convert a 3D curve into a parametrized tube

Contributed by: Wolfram Staff (original content by Alfred Gray)
 ResourceFunction["CurveTube"][c,t,r,θ] gives the parametrized circular tube with radius r and cross sectional angle θ centered on the curve c with parameter t. ResourceFunction["CurveTube"][c1,c2,t,r,θ] gives the parametrized tube whose cross section is similar to c2 with effective radius r and cross sectional angle θ centered on the curve c1 with parameter t.

## Details and Options

The parametrization has the form , where and are the normal and the binormal vectors of c1, respectively.
The first curve must be 3D and the second must be 2D.
ResourceFunction["CurveTube"] has the same options as ParametricPlot3D.

## Examples

### Basic Examples (3)

Compute the parametrization for a helical tube:

 In[1]:=
 Out[1]=

Plot the tube:

 In[2]:=
 Out[2]=

Make a tube from a torus knot curve:

 In[3]:=
 In[4]:=
 Out[4]=

Make a helix tube using a variant of a nephroid as a cross section:

 In[5]:=
 In[6]:=
 Out[6]=
 In[7]:=
 Out[7]=
 In[8]:=
 Out[8]=

### Properties and Relations (2)

Take the normal and binormal vectors from the Frenet-Serret system for a helix:

 In[9]:=
 Out[9]=

The parametrization for the curve tube for a helix is:

 In[10]:=
 Out[10]=

This is the same as given by CurveTube:

 In[11]:=
 Out[11]=

Something similar can be done with Tube:

 In[12]:=
 Out[12]=

Enrique Zeleny

## Version History

• 1.0.0 – 21 July 2020