# TubePlotToolsΒΆ

Tools for constructing tubes around 3-dimensional parametric curves.

- *: (DoubleFloat, Point DoubleFloat) -> Point DoubleFloat
`s * p`

returns a point whose coordinates are the scalar multiple of the point`p`

by the scalar`s`

, preserving the color, or fourth coordinate, of`p`

.

- +: (Point DoubleFloat, Point DoubleFloat) -> Point DoubleFloat
`p + q`

computes and returns a point whose coordinates are the sums of the coordinates of the two points`p`

and`q`

, using the color, or fourth coordinate, of the first point`p`

as the color also of the point`q`

.

- -: (Point DoubleFloat, Point DoubleFloat) -> Point DoubleFloat
`p - q`

computes and returns a point whose coordinates are the differences of the coordinates of two points`p`

and`q`

, using the color, or fourth coordinate, of the first point`p`

as the color also of the point`q`

.

- cosSinInfo: Integer -> List List DoubleFloat
`cosSinInfo(n)`

returns the list of lists of values for`n`

, in the form:`[[cos(n - 1) a, sin(n - 1) a], ..., [cos 2 a, sin 2 a], [cos a, sin a]]`

where`a = 2 pi/n`

. Note:`n`

should be greater than 2.

- cross: (Point DoubleFloat, Point DoubleFloat) -> Point DoubleFloat
`cross(p, q)`

computes the cross product of the two points`p`

and`q`

using only the first three coordinates, and keeping the color of the first point`p`

. The result is returned as a point.

- dot: (Point DoubleFloat, Point DoubleFloat) -> DoubleFloat
`dot(p, q)`

computes the dot product of the two points`p`

and`q`

using only the first three coordinates, and returns the resulting DoubleFloat.

- loopPoints: (Point DoubleFloat, Point DoubleFloat, Point DoubleFloat, DoubleFloat, List List DoubleFloat) -> List Point DoubleFloat
`loopPoints(p, n, b, r, lls)`

creates and returns a list of points which form the loop with radius`r`

, around the center point indicated by the point`p`

, with the principal normal vector of the space curve at point`p`

given by the point(vector)`n`

, and the binormal vector given by the point(vector)`b`

, and a list of lists,`lls`

, which is the cosSinInfo of the number of points defining the loop.

- point: (DoubleFloat, DoubleFloat, DoubleFloat, DoubleFloat) -> Point DoubleFloat
`point(x1, x2, x3, c)`

creates and returns a point from the three specified coordinates`x1`

,`x2`

,`x3`

, and also a fourth coordinate,`c`

, which is generally used to specify the color of the point.

- unitVector: Point DoubleFloat -> Point DoubleFloat
`unitVector(p)`

creates the unit vector of the point`p`

and returns the result as a point. Note:`unitVector(p) = p/|p|`

.