Om(p) = (xc,yc,zc) : la courbe
OM(p,q)) = (x,y,z) : le tube
(xv,yv,zv) : le vecteur dérivée première Om'(p)
(xa,ya,za) : le vecteur dérivée seconde Om''(p)
(xva,yva,zva) : le vecteur Om'(p) x Om''(p) colinéaire à la binormale B(p) (Le symbole "x" désigne le produit vectoriel de deux vecteurs)
sva : produit scalaire Om'(p).Om''(p) (Le point désigne le produit scalaire de deux vecteurs)
nv : la norme du vecteur (xv,yv,zv)
nva : la norme du vecteur (xva,yva,zva)
(xn1,yn1,zn1) : le vecteur normal principal unitaire N(p) = ((Om'(p)xOm''(p)xOm'(p))/(nva*nv) = (nv Om"-((Om'.Om")/nv)Om')/nva (par la formule de Gibbs)
(xb1,yb1,zb1) : le vecteur binormal unitaire B(p)
r : le rayon du tube
mM(p,q) = (r*(cos(q)*xn1+sin(q)*xb1),r*(cos(q)*yn1+sin(q)*yb1),r*(cos(q)*zn1+sin(q)*zb1)) :
la section du tube dans le plan (N(p),B(p))
OM(p,q)) = Om(p)+ mM(q) = (x,y,z) = (xc+r*(cos(q)*xn1+sin(q)*xb1),yc+r*(cos(q)*yn1+sin(q)*yb1),zc+r*(cos(q)*zn1+sin(q)*zb1))
: la paramétrisation du tube
p=
q=2*PI*v;
xc=
yc=
zc=
xv=
yv=
zv=
xa=
ya=
za=
xva=yv*za-ya*zv;
yva=zv*xa-za*xv;
zva=xv*ya-xa*yv;
sva=xv*xva+yv*yva+zv*zva;
nv=sqrt(pow(xv,2)+pow(yv,2)+pow(zv,2));
nva=sqrt(pow(xva,2)+pow(yva,2)+pow(zva,2));
xn1=(nv*xa-(sva/nv)*xv)/nva;
yn1=(nv*ya-(sva/nv)*yv)/nva;
zn1=(nv*za-(sva/nv)*zv)/nva;
xb1=xva/nva;
yb1=yva/nva;
zb1=zva/nva;
r=
x=xc+r*(cos(q)*xn1+sin(q)*xb1);
y=yc+r*(cos(q)*yn1+sin(q)*yb1);
z=zc+r*(cos(q)*zn1+sin(q)*zb1);