Voir : 
le fichier Maple "zippé"

Chainette cylindrique




Ce programme simule la figure d'équilibre d'un fil pesant inextensible fixé par ses extrémités sur un cylindre d'axe vertical.

Il a été réalisé en collaboration avec Robert Ferréol suite à la construction de la page   Chainettes  de son site "mathcurve.com".
Voir ce site pour les explications mathématiques des équations.

Le programme Povray qui permet de faire des tracés un peu plus esthétiques est ici

Trois tracés obtenus avec ce programme


voir en 800x600

voir en 800x600

voir en 800x600



restart:
scal:=proc(A,B) add(A[i]*B[i],i=1..3) end:
pv:=(U,V)->[U[2]*V[3]-U[3]*V[2],U[3]*V[1]-U[1]*V[3],U[1]*V[2]-U[2]*V[1]]: M:=[cos(u),sin(u),z(u)]:
dM:=diff(M,u):
ds:=sqrt(simplify(scal(dM,dM))):
U:=expand(dM*(z(u))/ds):
U:=diff(U,u):
U:=simplify(expand((U+[0,0,-ds])*ds^3)):
V:=[cos(u), sin(u),0]:
A:=pv(U,V):
eq:=op(solve({op(A)},diff(z(u),u$2))):
a:='a': b:='b':
sols:=simplify(expand(subs(_C1=a,_C2=b,[dsolve(eq,z(u))])),exp):
# ==================================
# ATTENTION : selon les exécutions Maple met a ou 1/a
#====================================
z1:=rhs(sols[1]):
if op([2,2],z1)=a then z1:=subs(a=1/a,z1); fi;
z1;
# on trouve z=1/2/a*ch((u+b)*a)#---------- divers cas ---------------
#z2:=subs(a=1/2,b=0,z1): ur:=-Pi-0.4..Pi+0.4 : vr:= 1..6:
#z2:=subs(a=1/4,b=0,z1): ur:=-2*Pi-0.2..2*Pi+0.2: vr:=3..11:
z2:=subs(a=1/8,b=0,z1): ur:=-3*Pi-0.2..3*Pi+0.2: vr:=7..15:
with(plots):
chainette:=tubeplot([cos(u),sin(u),z2],u=ur,radius=0.1,
color=red,style=patchnogrid):
cyl:=plot3d([cos(u),sin(u),w],u=0..2*Pi,w=vr,style=patchnogrid):#:
display([chainette,cyl],scaling=constrained);

Début