Skip to main content
3 of 3
added 67 characters in body
SHuisman
  • 4.2k
  • 13
  • 17

You can add the options ViewProjection, ViewPoint, and ViewVertical to make it appear as if it isometric:

coversQ[parent_,child_]:=And[Length[parent]>=Length[child],Min[Take[parent,Length@child]-child]>=0] planepartitionQ[par_]:=MatchQ[par,{{___Integer}..}]&&If[Length[par]>1,And@@MapThread[coversQ,{Drop[par,-1],Rest[par]}],True] PlanePartitions[n_Integer]:=Module[{l1,l2,l3,l4,z,w},l1=z@@@IntegerPartitions[n]; l2=l1/.k_Integer/;(k>1):>w@@IntegerPartitions[k]; l3=l2/.z[x_w,y:(1...)]:>Thread[z[x,y],w]/.z[x__w]:>Outer[z,x]/.z[x__w,y:(1...)]:>Outer[z,x,Sequence@@({y}/.1->w[1])]/.w->Sequence; l4=l3/.z[x___List,y:(1..)]:>z[x,Sequence@@Transpose[{{y}}]]/.z->List;Cases[Union[l4],_?planepartitionQ]] PlanePartitionDiagram[l_List]:=Module[{i,j,k}, Graphics3D[{EdgeForm[{Black,Thickness[0.01]}], Table[ Cuboid[{j,-i,k}] , {i,Length[l]}, {j,Length[l[[i]]]}, {k,l[[i,j]]} ]}, Boxed->False, ViewProjection->"Orthographic", ViewPoint->{1,1,1}, Lighting -> {{"Directional", Yellow, {{0, 0, 1}, {0, 0, 0}}}, {"Directional", Blue, {{0, 1, 0}, {0, 0, 0}}}, {"Directional", Red, {{1, 0, 0}, {0, 0, 0}}}} ] ] PlanePartitionDiagram[{{3,3,2,1},{0,3,2,1},{0,3,2,1},{0,0,0,1}}] 

(should work with 11.2 and up).

enter image description here

SHuisman
  • 4.2k
  • 13
  • 17