CAD的prompt 告一段落了,交个作业:画出柯西雪花曲线:
Koch曲线的构造方法:
三等分一条线段;
用一个等边三角形替代第一步划分三等分的中间部分;
在每一条直线上,重复第二步。
Koch曲线是以上步骤地无限重复的极限结果(下图)。
e50bb4ff4f677c8021e0065ed4e15eba_r.jpg
线条的表示复数方法:
用复数表示二维线条非常方便,转角动作用欧拉公式复数的乘法性质:
转角n度 : Z * exp(cos(n) + isin(n))
放大n倍 : nZ
CAD prompt 思路:
列取出所有的平面复线条;
用Z的实部和虚部表示(X,Y),连接成线条;
PYTHON 实现 复数Z 列表的方法:
动作细胞函数:kochcell(a,b)
输入两个复数,输出五个复数,函数内实现移动和转角,五个复数是以 tuple 格式输出的
组合细胞函数 kochcombine(cells);
输入一个复数列表,两两用动作细胞函数 kochcell(a,b) 组合,生成一个组合tuple,每个tuple都是一个动作细胞函数的元祖的输出;
这个函数的第二部分是对这个二维元祖的降维操作,否则无法递归,这里用了numpy的shape属性和reshape方法;