Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I know how to create parallelepiped and combine them to form a parallelepiped tiling, but the tiles overlap...

I started with this code:

P1 = Graphics3D[{GeometricTransformation[{Opacity[.85], Red, 
     Cuboid[]}, ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]]}, 
  Boxed -> False]   

P2 = Graphics3D[{GeometricTransformation[{Opacity[.85], Red, 
     Cuboid[]}, ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]]}, 
  Boxed -> False]

P3 = Graphics3D[{GeometricTransformation[{Opacity[.85], Red, 
     Cuboid[]}, ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]]}, 
  Boxed -> False]

Show[P1,P2,P3] 

I don't know how to fix the positions of the parallelepipeds (I prefer different shapes) so that they will not overlap and no gaps between them.

share|improve this question
    
Your parallelepipeds are all the same, which is why they overlap. To tile them, you need to also translate them in x/y/z, depending on how your tiling arrangement is. As an example starting with your P1: Graphics3D[ NestList[GeometricTransformation[#, TranslationTransform[{1/2, 3/2, 0}]] &, First@P1, 5], Boxed -> False] Istvan's answer shows a better way to build up the tiles. –  rm -rf Jan 16 at 20:33

1 Answer 1

Tiling of a plane in 3D:

para = Table[
   GeometricTransformation[Cuboid[{i, j, k}], 
      ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]],
   {i, 0, 5}, {j, 0, 3}, {k, 0, 0}];

c = 0;
Graphics3D[{Opacity@.85, Map[{Hue[c = c + .03], #} &, para, {2}]}, Boxed -> False]

Mathematica graphics

Tiling of a volume:

para = Table[
   GeometricTransformation[Cuboid[{i, j, k}], 
    ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]],
   {i, 0, 5}, {j, 0, 3}, {k, 0, 2}];

Graphics3D[{Opacity@.85, Map[{Hue@RandomReal[], #} &, para, {3}]}, Boxed -> False]

Mathematica graphics

It's not that hard to play around with coordinates to get a mirrir-tiling:

para = Table[
   GeometricTransformation[Cuboid[{i, 0, k}], 
    ShearingMatrix[Pi/4, {1, 0, 0}, {-1, 1, 0}]], {i, 0, 5}, {k, 0, 1}];
para2 = Table[
   GeometricTransformation[Cuboid[{1, j - 4, k}], 
    ShearingMatrix[-Pi/4, {1, 0, 0}, {-1, 1, 0}]], {j, 0, 5}, {k, 0, 1}];

Graphics3D@{para, para2}

Mathematica graphics

share|improve this answer
    
Wow! Thanks so much... But what if I want the parallelepiped to distinct? Thanks again^_^ –  Sey Jan 17 at 1:36
    
@Sey What do you mean by distinct? Color? –  István Zachar Jan 17 at 7:50
    
I mean distinct shapes of parallelepipeds, similar to 3D Rep-Tiles and Irreptiles. Thanks so much –  Sey Jan 17 at 7:57
    
@Sey An image or a more formal description would help to understand what you really want because at the moment I'm clueless. –  István Zachar Jan 17 at 8:35
    
@Istvan-Thanks so much for your willingness to help. A patch of such a tiling is shown below. } ]] The one you made comprises of copies of a parallelepiped, but i want the parallelepiped to have different shapes but still fill the 3D plane - no overlaps and no gaps between them... I can actually create just using lines, but seems to be tiring...Thanks so much –  Sey Jan 17 at 8:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.