L'éditeur de formules de Carrara Studio

Tubes avec rayon proportionnel à la courbure ou à la torsion Documentation

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) 

(xt,yt,zt) : le vecteur dérivée tierce 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) 

n2v : le carré de la norme du vecteur (xv,yv,zv)

n2va : le carré de la norme du vecteur (xva,yva,zva)

nv : la norme du vecteur (xv,yv,zv) 

nva : la norme du vecteur (xva,yva,zva) 

sva : produit scalaire Om'(p).Om''(p) (Le point désigne le produit scalaire de deux vecteurs)

(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) 

kappa : la courbure au point m de la courbe où kappa = nva/nv^3

tau : la torsion au point m de la courbe où tau = (xva,yva,zva).(xt,yt,zt)/n2va

r : le rayon du tube en fonction de kappa ou tau

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=
xt=
yt=
zt=
xva=yv*za-ya*zv;
yva=zv*xa-za*xv;
zva=xv*ya-xa*yv;
n2v=pow(xv,2)+pow(yv,2)+pow(zv,2);
n2va=pow(xva,2)+pow(yva,2)+pow(zva,2);
nv=sqrt(n2v);
nva=sqrt(n2va);
sva=xv*xva+yv*yva+zv*zva;
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;
kappa=nva/(n2v*nv);
tau=(xva*xt+yva*yt+zva*zt)/n2va;
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);