sierpinski = Map[Mean, Partition[Tuples[#, 2], 3], {2}] &; p = Nest[Join @@ sierpinski /@ # &, {{{0, 0}, {1, 0}, {.5, .8}}}, 3]; Graphics[Polygon@p]