点阵练习3
20260713 创建
研习自:再谈一个好玩的初中点阵,多种方法,多元迭代,进阶系列226
#方法一:使用有序点阵的方法
n=滑动条(5,50,1)
赋值(n,30)
A=(-3.74,-4)
B = (4.38,-3.96)
O=(0,0)
C=O+(2,0)
l1=序列({(-1,-1)*1^序列(2k-1),(-1, 1)*1^序列(2k-1),(2,2)*1^序列(k), (2,-2)*1^序列(k)}, k, 1, 10)
l2=扁平列表(l1)
l3=序列(C+总和(l2,i),i,1,n)
l4=追加(C,l3)
#找出拐点或者角点
I5=条件子列(x(p)==2&&y(p)>0 || x(p)==1&& y(p)<0 || x(p)<=0&&y(p)==0||x(p)>0 &&y(p)==0, p,l4)
f=折线(I5)
l6=序列(文本("A_"+(k)+"",I5(k),true,true,-0.5,-1),k,1,长度(I5))
text2="利用点阵通法绘制初一的一个点阵"
#方法二,一元迭代 文海平老师提出:
A2=描点(x轴)
赋值(A2,(2,0))
B2=(1, -1)
C2=描点(y轴)
赋值(C2,(0,0))
#这步没搞懂
I21 = 迭代(追加(p, 元素(p, 长度(p))+ ceil(长度(p)/2) sqrt(2) 单位法向量(元素(p,长度(p)- 1)- 元素(p,长度(p)))),p,{{A2, B2}},10)
f2=折线(I21)
A3=描点(x轴)
B3=(1,-1)
赋值(A3,(2,0))
l31 =迭代(追加(p,元素(p,长度(p))+ ceil(长度(p) / 2) sqrt(2) 单位法向量(元素(p,长度(p)- 1)- 元素(p,长度(p)))), p, {{A3, B3}},n)
C3=描点(y轴)
D3=描点(f3)
赋值(C3,(0,0))
赋值(D3,(2,2))
f3=折线(l31)
m31 =迭代列表({元素(p, 1) + (2,0), 元素(p,2) + (0,-2),元素(p,3) + (-2,0),元素(p, 4) + (0, 2)}, p, {{A3, B3, C3, D3}}, 5)
g3=折线(扁平列表(m31))
#聂祥猛老师则提出:
n=滑动条(5,50,1)
赋值(n,30)
A4=交点(x轴,y轴)
B4=描点(x轴)
赋值(B4,(2,0))
l41=迭代(追加(p,元素(p,长度(p))-0.5(长度(p)+余式(长度(p),2)) 单位法向量(元素(p,长度(p))-元素(p,长度(p)-1))),p,{{A4,B4}},n-1)
C4=描点(x轴)
F4=(1,1)
G4=(-1,1)
l42=映射(C4+x(q) F4+y(q) G4,q,l41)
f4=折线(l42)
#方法三,8元迭代
#(1)先描绘出8个基础点。
A5=(2,0)
B5 = (1, -1)
C5 = (0, 0)
D5 =(2, 2)
E5 =(4,0)
F5 =(1, -3)
G5=(-2,0)
H5 = (2, 4)
#(2)然后创建整数滑动条n;
n=滑动条(5,50,1)
赋值(n,30)
l52 = 迭代列表(2p5 - p1, p1, p2, p3, p4, p5, p6, p7, p8, {A5, B5, C5, D5, E5, F5, G5, H5}, n)
f5 = 折线(l52)
Step=滑动条(1,6,1)
赋值(Step,1)
设置显示条件(list1,Step==1)