Bonjour Fabrice,
Et bonne année 2017 à toi aussi.
Pour ton dessin, j'ai pensé plutôt à dessiner un seul grand cube, puis des arêtes par dessus.
Pour éviter de chercher à la main lesquelles sont cachées, j'ai utilisé la macro
Intersection(plan, polyedre) qui renvoie l'intersection d'un polyèdre avec un plan sous forme d'arêtes avec l'information visible/cachée et la macro
DrawAretes() les dessine ensuite:
- Code: Tout sélectionner
[
view(-4,5,-4.5,5.5), Marges(0,0,0,0), size(8),
ModelView(central),
a:=4,
Cube:=Parallelep(Origin,a*vecI,a*vecJ,a*vecK),
HideColor:=gray, HideStyle:=userdash, HideWidth:=4,
DrawFacet(Cube,[color:=HexaColor("D96251"), backculling:=1]),
Color:=HexaColor("BB264E"), Width:=8,
DrawPoly(Cube,0), //pour les arêtes cachées
//tracé des lignes
for k from 1 to a-1 do // suivant Oy
L:=Intersection( [M(0,k,0),vecJ], Cube),
DrawAretes(L)
od,
for k from 1 to a-1 do // suivant Ox
L:=Intersection( [M(k,0,0),vecI], Cube),
DrawAretes(L)
od,
for k from 1 to a-1 do // suivant Oz
L:=Intersection( [M(0,0,k),vecK], Cube),
DrawAretes(L)
od
]
- CubesFab.png (23.22 Kio) Consulté 7354 fois
Maintenant, ce que l'on peut reprocher, c'est que l'on ne voit pas les arêtes cachées des petits cubes "intérieurs", mais sur l'original non plus ...
On peut peaufiner en dessinant pour le dessus non pas une face, mais tous les petits carrés avec un shading comme sur l'image original...