点阵序列-进阶

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

Information: 点阵序列-进阶