请问你知道怎么用Mathematica画koch线吗,谢谢!

F变化的...
2026年09月23日 09:42
有1个网友回答
网友(1):

(*从由点point1,point2连接的线段得到中间的3个点坐标*)
generate[point1_, point2_] :=
Module[{p1, p2, p3, v12 = point2 - point1},
p1 = v12/3. + point1;
p3 = point2 - v12/3.;
p2 =RotationTransform[Pi/3., p1][p3];
{point1, p1, p2, p3, point2}]
data[0] =
N@{{0, 1}, {Sqrt[3]/2, -(1/2)}, {-(Sqrt[3]/2), -(1/2)}, {0,
1}};(*正三角形*)
data[n_] :=
data[n] = Flatten[generate @@@ Partition[data[n - 1], 2, 1], 1];
(*迭代得到若干点*)
pic[n_] :=
ListLinePlot[data[n], AspectRatio -> 1,
PlotRange -> {{-1.1, 1.1}, {-1.1, 1.1}}, PlotStyle -> {Red},
ImageSize -> 300, Axes -> False];