]>
Book Contents Previous Section 21.8 conformal.input Next Section 21.10 ntube.input Book Index

## 21.9 tknot.input

Create a (p,q) torus-knot with radius r around the curve. The formula was derived by Larry Lambe.

)read ntube
torusKnot: (DFLOAT, DFLOAT, DFLOAT, PI, PI) -> VIEW3D
torusKnot(p, q ,r, uSteps, tSteps) ==
knot := (t:DFLOAT):Point DFLOAT +-> Function for the torus knot
fac := 4/(2.2@DFLOAT-sin(q*t))
fac * point [cos(p*t), sin(p*t), cos(q*t)]
circle := (u:DFLOAT, t:DFLOAT): Point DFLOAT +-> The cross section
r * point [cos u, sin u]
ntubeDrawOpt(knot, circle, 0..2*%pi, 0..2*%pi,
Draw the circle around the knot
var1Steps == uSteps, var2Steps == tSteps)

Book Contents Previous Section 21.8 conformal.input Next Section 21.10 ntube.input Book Index