点阵序列-进阶
2026714 修改自:i景然 — 2026年5月7日 - 上午10:37 点阵序列 – GeoGebra
原代码
n=滑动条(0, 64,1)
m=滑动条(0, 6,1)
h=滑动条(1, 2,1)
A=(1,0)
#最后的点,利用虚数旋转
P=A+总和(t ί^(t),t,0,n)
Nlist=1…n
#系列点,利用极坐标旋转,h调节旋转方向
PointList=序列(A+总和((t; ((((-1)^(h) t+m) π)/(2))),t,0,p),p,0,n)
VectorList=序列(向量(PointList(k),PointList(k+1)),k,1,n)
##TextList=映射(文本("P_{"+(k)+("}"+p),p,true,true),p,VectorList,k,1…n)
TextList=映射(文本("P_{"+(k)+"}"+(p),p,true,true),p,PointList,k,1…n)
增加的改进代码
Ratio=滑动条(-1,10,1)
赋值(Ratio,1)
Rock=滑动条(-360,360,1)
赋值(Rock,0)
Step=滑动条(1,5,1)
赋值(Step,1)
#将原来最后一个点的代码,用序列得到所有点
l21=序列(A+总和(t ί^(t),t,0,k),k,1,n)
#虚数法,增加缩放,h调节旋转方向
l22=追加(A,序列(A+总和(Ratio t ί^(t (-1)^h),t,0,k),k,1,n))
l23=序列(向量(l22(k),l22(k+1)),k,1,n)
#极坐标法,增加缩放和旋转
l31=序列(A+总和(Ratio (t; (Rock (2π)/(360))+((((-1)^(h) t+m) π)/(2))),t,0,p),p,0,n)
l32=序列(向量(l31(k),l31(k+1)),k,1,n)
ff=滑动条(1,8,1)
赋值(ff,4)
l41=序列(A + 总和(Ratio (t; Rock (2π) / 360 + (((-1)^h t + m) π * 2) / ff), t, 0, p), p, 0, n)
l42=序列(向量(l41(k),l41(k+1)),k,1,n)
TextList4=映射(文本("P_{"+(k)+"}"+(p),p,true,true),p,l41,k,1…n)
设置显示条件(l41,Step==4)
设置显示条件(l42,Step==4)
设置显示条件(TextList4,Step==4)
进阶修改:
fen=滑动条(-10,135,1)
赋值(fen,90)
#加fen / 90,可调节旋转角度,(-1)^h 可调节方向,效果是每个向量都旋转
l22=追加(A, 序列(A + 总和(Ratio t ί^(fen / 90 t (-1)^h), t, 0, k), k, 1, n))
原理:复数开 n 次方 = 模开 n 次缩放,辐角平均分成 n 份,所以i开90次方即得1°
而利用极坐标法的效果是,图像整体旋转。