可以试试这个:
(* 定义主体 *)
pos = {0, 0}; l = {}; AppendTo[l, pos]; \[Theta] = 0;
left[theta_] := (\[Theta] = \[Theta] + theta);
right[theta_] := (\[Theta] = \[Theta] - theta);
forward[r_] := (pos = pos + r*{Cos[\[Theta]], Sin[\[Theta]]};
AppendTo[l, pos]);
Koch[order_, size_] :=
If[order == 0, forward[size], Koch[order - 1, size/3];
left[Pi/3]; Koch[order - 1, size/3]; right[2 Pi/3];
Koch[order - 1, size/3]; left[Pi/3]; Koch[order - 1, size/3];];
(*对于order为5的可以这样画出*)
l = {}; AppendTo[l, pos]; Koch[5, 3]; Graphics[Line[l]]