# Hexa/tria lattice generation [duplicate]

How do we generate a regular hexagon / triangle combination of repeating cell geometry shown : (Plastic chair seat weave, Star of David).

Unlike a pure triangle lattice where a node has three intersecting lines this one has alternate sides disappearing when two lines intersect.

Can we modify this recent program? Recent Tria lattice generation

Above base pattern is made in a mechanical software but is cumbersome.

Thanks for all help.

• Obligatory question, what have you tried? – yarchik Jun 10 at 19:57
• In mechanical modeling before. Only recently I learnt possible in Mma. – Narasimham Jun 10 at 20:39

With IGraph/M,

<< IGraphM

mesh = IGLatticeMesh["Trihexagonal"]


IGMeshGraph[mesh]


If I understood you question correctly, then the pattern consists of lines of 3 types:

1. vertical lines through points x= 0,2,4,..., y=0
2. slanted lines with angle of 30 degrees against the horizontal through points: x=1,5,9,13,.., y=0 3)slanted lines with angle of -30 degrees against the horizontal through points: x=1,5,9,13,.., y=0

We may draw this by:

n = 15;
v = 0.5;(*slope*)
linesvert = Table[InfiniteLine[{4 i, 0}, {1, v}], {i, n}];
linesslant1 = Table[InfiniteLine[{4 i, 0}, {-1, v}], {i, n}];
linesslant2 =
Table[{InfiniteLine[{1 + 4 i, 0}, {0, 1}],
InfiniteLine[{3 + 4 i, 0}, {0, 1}]}, {i, n}];
Graphics[{
linesvert, linesslant1, linesslant2
, Red, Thick, Line[{{21, v}, {24, 4 v}, {21, 7 v}, {21, v}}],
Line[{{20, 4 v}, {23, 1 v}, {23, 7 v}, {20, 4 v}}]
}, PlotRange -> {{15, 40}, {0, 8}}]


hexagon = {FaceForm[White], EdgeForm[Black], Polygon @ #, Red,
PointSize[Large], Point @ #} & @ CirclePoints[6];

ClearAll[translations, triHex]

translations[w_, h_] := Join @@ Table[{2 j + i, i Sqrt[3]}, {i, 0, h-1}, {j, 0, w-1}]

triHex[w_, h_] := Translate[hexagon, translations[w, h]]

Graphics[triHex[7, 5], ImageSize -> 600]
`