rotate90[{x_, y_}] := {-y, x}
koch[p1_, p2_, n_] := {koch[p1, p1 + (p2 - p1)/3, n - 1],
koch[p1 + (p2 - p1)/3, (p1 + p2)/2 + Sqrt[3]/6 rotate90[p2 - p1],
n - 1], koch[(p1 + p2)/2 + Sqrt[3]/6 rotate90[p2 - p1],
p2 - (p2 - p1)/3, n - 1], koch[p2 - (p2 - p1)/3, p2, n - 1]}
koch[p1_, p2_, 0] := Line[{p1, p2}]