#方法1,可扩展到n边形,三维点[br]n=滑动条(1,100,1)[br]赋值(n,4)[br]m=滑动条(1,100,1)[br]赋值(m,10)[br]mm=滑动条(1,10,1)[br]赋值(mm,4)[br]B=描点(x轴)[br]赋值(B,(1,0))[br]a=abs(B)[br]α=(360°) /n[br]A=交点(x轴,y轴)[br][br]#P不是很了解,形成折线的点的旋转中心[br]P =(0.5a, 0.5a /tan(α/2))[br][br]#基础折线[br]f=折线(序列(旋转((a, 0), i α, P),i, 0, n- 2, 1))[br][br]#对称轴[br]g= 直线(A, P)[br][br]#折线沿对称轴交替翻转并放大[br]l1 =序列(位似(旋转(f, 180° (i + 1), g), i), i, 1, mm, 1)[br][br]#描点,间距为a[br]l2=最前元素(扁平列表(映射(序列(描点(s, t / s), t, 0, s, a), s, l1)), m)[br][br]#画出向量[br]l3=序列(向量(l2(i), l2(i+ 1)),i,1,长度(l2) -1, 1)[br]u=向量(A, B)[br][br][br][br][br]#方法2[br]#必须A=(0,0),B=(1,0),否则出错[br]h:y=x[br]l22=迭代列表(如果(p ∈ x轴 ∧ 余式(x(p), 2) ≟ 0, p + (1, 0), p ∈ h ∧ 余式(x(p), 2) ≟ 1, p + (-1, 0), p ∈ h ∧ 余式(x(p), 2) ≟ 0, p + (0, -1), p ∈ x轴 ∧ 余式(x(p), 2) ≟ 1, p + (0, 1), p ∈ y轴 ∧ 余式(y(p), 2) ≟ 1, p + (0, 1), p ∈ y轴 ∧ 余式(y(p), 2) ≟ 0, p + (1, 0), 2p - q), q, p, {A, B}, m)[br]l23=序列(向量(l22(i), l22(i + 1)), i, 1, 长度(l22) - 1, 1)[br][br][br]#p ∈ x轴 ∧ 余式(x(p), 2) ≟ 0, p + (1, 0), x轴,x偶数,向右[br]#p ∈ h ∧ 余式(x(p), 2) ≟ 1, p + (-1, 0), x=y,x奇数,向左[br]#p ∈ h ∧ 余式(x(p), 2) ≟ 0, p + (0, -1), x=y,x偶数,向下 [br]#p ∈ x轴 ∧ 余式(x(p), 2) ≟ 1, p + (0, 1), x轴,x奇数,向上 [br]#p ∈ y轴 ∧ 余式(y(p), 2) ≟ 1, p + (0, 1), y轴,y奇数,向上 [br]#p ∈ y轴 ∧ 余式(y(p), 2) ≟ 0, p + (1, 0), y轴,y偶数,向右 [br]#否则,搞不懂为什么是2p - q[br]# 2p - q[br][br][br][br]#方法3[br]#必须A=(0,0),B=(1,0),否则出错[br]l34=迭代列表(如果(y(p) ≟ 0, p + (余式(x(p) + 1, 2), 余式(x(p), 2)), x(p) ≟ y(p), p + (-1 余式(x(p), 2), -余式(x(p) + 1, 2)), x(p) ≟ 0, p + (余式(y(p) + 1, 2), 余式(y(p), 2)), 2p - q), q, p, {A, B}, m)[br]l35=序列(向量(l34(i), l34(i + 1)), i, 1, 长度(l34) - 1, 1)[br][br]#迭代列表(如果([br]#在x轴上(y=0),判断余式(x(p), 2),x为奇数第2个点p+(0,1),即向右,否则+(1,0)即向上[br]#y(p) ≟ 0, p + (余式(x(p) + 1, 2), 余式(x(p), 2)), [br][br]#在y=x上,判断余式(x(p), 2),x为奇数第2个点p+(-1,0),即向左,否则+(0,-1)即向下[br]#x(p) ≟ y(p), p + (-1 余式(x(p), 2), -余式(x(p) + 1, 2)), [br][br]#在y轴上(y=0),判断余式(x(p), 2),x为奇数第2个点p+(0,1),即向右,否则+(1,0)即向上[br]#x(p) ≟ 0, p + (余式(y(p) + 1, 2), 余式(y(p), 2)), [br][br]#否则[br]#2p - q[br][br][br][br]#方法4 还搞不懂[br]m=滑动条(1,100,1)[br]赋值(m,4)[br]mm=滑动条(1,10,1)[br]赋值(mm,4)[br]l41=扁平列表(序列({(1,0),(0,1)*1^序列(2k-1),(-1,0)*1^序列(2k-1),(0,1),(1,0)*1^序列(2k),(0,-1)*1^序列(2k)},k,1,mm))[br]l42=追加((0,0),序列(总和(l41,j),j,1,m-1))[br]l43=序列(向量(l42(i),l42(i+1)),i,1,m-1)[br][br]