TeXgraph# {version 1.974} Cmd Fenetre(-1.32936315021876+2.13964511424404*i, 1.97642197374818-1.99258629071463*i, 2.178+2.178*i); Marges(0, 0, 0, 0); Border(0); [OriginalCoord(1), IdMatrix()]; [theta:=0.5236, phi:=1.0472, IdMatrix3D(), ModelView(ortho)]; [GrayScale(0), ComptGraph:=11]; Mac Bc = if %1=0 then sqr(1-%2) elif %1=1 then 2*%2*(1-%2) else sqr(%2) fi; Bcarreau = [ {Bcarreau (points, poids, nbU+i*nbV) ) } $nbU:=Re(%3), if nbU=Nil then nbU:=15 fi, $nbV:=Im(%3), if nbV=Nil then nbV:=15 fi, GetSurface( [$som:=0, $P:=0, for p from 0 to 2 do for q from 0 to 2 do $k:=3*p+q+1, $s:= %2[k]*Bc(p,v)*Bc(q,u), Inc(som, s*%1[2*k-1,2]), Inc(P,s) od od, som/P], i,i, nbU+i*nbV) ]; Cmd [tMin:=-6.8431,tMax:=2.2478,DotScale:=1+i]; Graph objet11 = [ //view(-2,2,-2.5,2.5), Marges(0,0,0,0), size(9), //sommets du cube initial d:=2, A:=M(d,0,0), B:=M(d,d,0), C:=M(0,d,0), D:=Origin, //face bas E:=M(d,0,d), F:=M(d,d,d), G:=M(0,d,d), H:=M(0,0,d), //face haut //poids des sommets pA:=1, pB:=1, pC:=1, pD:=1, pE:=1, pF:=1, pG:=1, pH:=1, //points de controle entre deux sommets, avec poids s:=2/5, //un parametre BF:=(B+F)/2-s*(vecI+vecJ), pBF:=1, CG:=(C+G)/2+s*(vecI-vecJ), pCG:=1, DH:=(D+H)/2+s*(vecI+vecJ), pDH:=1, AE:=(A+E)/2+s*(-vecI+vecJ),pAE:=1, GF:=(F+G)/2-s*(vecJ+vecK), pGF:=1, HG:=(G+H)/2+s*(vecI-vecK), pHG:=1, HE:=(H+E)/2+s*(vecJ-vecK), pHE:=1, EF:=(E+F)/2-s*(vecI+vecK), pEF:=1, AB:=(A+B)/2-s*(vecI-vecK), pAB:=1, CB:=(B+C)/2-s*(vecJ-vecK), pCB:=1, DC:=(C+D)/2+s*(vecI+vecK), pDC:=1, DA:=(D+A)/2+s*(vecJ+vecK), pDA:=1, //points de controle "central", avec poids BFCG:=(BF+CG)/2-s*vecJ/2, pBFCG:=1, CGDH:=(CG+DH)/2+s*vecI/2, pCGDH:=1, DHAE:=(DH+AE)/2+s*vecJ/2, pDHAE:=1, AEBF:=(AE+BF)/2-s*vecI/2, pAEBF:=1, HEGF:=(HE+GF)/2-s*vecK/2, pHEGF:=1, DACB:=(DA+CB)/2+s*vecK/2, pDACB:=1, //construction des 6 faces S1:=Bcarreau([B,CB,C,BF,BFCG,CG,F,GF,G],[pB,pCB,pC,pBF,pBFCG,pCG,pF,pGF,pG]), S2:=Bcarreau([A,AB,B,AE,AEBF,BF,E,EF,F],[pA,pAB,pB,pAE,pAEBF,pBF,pE,pEF,pF]), S3:=Bcarreau([E,EF,F,HE,HEGF,GF,H,HG,G],[pE,pEF,pF,pHE,pHEGF,pGF,pH,pHG,pG]), S4:=Bcarreau([D,DA,A,DH,DHAE,AE,H,HE,E],[pD,pDA,pA,pDH,pDHAE,pAE,pH,pHE,pE]), S5:=Bcarreau([D,DC,C,DA,DACB,CB,A,AB,B],[pD,pDC,pC,pDA,pDACB,pCB,pA,pAB,pB]), S6:=Bcarreau([C,DC,D,CG,CGDH,DH,G,HG,H],[pC,pDC,pD,pCG,pCGDH,pDH,pG,pHG,pH]), LabelDot3D(D,"$D$","S",1), DrawFacet([S1,S2,S3,S4,S5,S6],[color:=slategray,FillOpacity:=0.8]), LabelDot3D(A,"$A$","S",1), LabelDot3D(B,"$B$","S",1), LabelDot3D(C,"$C$","S",1), LabelDot3D(E,"$E$","N",1), LabelDot3D(F,"$F$","N",1), LabelDot3D(G,"$G$","N",1), LabelDot3D(H,"$H$","N",1), {Build3D( bdFacet(S1, [color:=slategray, backculling:=1, smooth:=1]), bdFacet(S2, [color:=slategray, backculling:=1, smooth:=1]), bdFacet(S3, [color:=slategray, backculling:=1, smooth:=1]), bdFacet(S4, [color:=slategray, backculling:=1, smooth:=1]), bdFacet(S5, [color:=slategray, backculling:=1, smooth:=1]), bdFacet(S6, [color:=slategray, backculling:=1, smooth:=1]) ), Display3D()} ];