Google ClassroomGoogle Classroom
GeoGebraGeoGebra Classroom

伸展的菱形-序列指令练习

n=滑动条(5,50,1) 赋值(n,10) m=滑动条(0,15,1) 赋值(m,0) k=滑动条(0,15,1) 赋值(k,0) A=(0, 0) B=(1, 0) a=线段(A,B) #旋转(B,360*((°)/(n)),A)和点B为n角星邻近两角尖,B'为凹进去的角点 B'=旋转(B,-90°,((旋转(B,360*((°)/(n)),A)+B)/(2))) B''=对称(B',直线(A,B)) #得出风筝形靠近中心的另一个角 C=交点(旋转(直线(B,B'),90°,B'),旋转(直线(B,B''),90°,B'')) #基本形状:poly1风筝形,poly2正方形 poly1=多边形(B,B',C,B'') poly2=多边形(C,B',4) #风筝形绕点A旋转得到n个,可以简洁为:序列(旋转(poly1,i*360*((°)/(n)),A),i,0,n-1) list1=序列(多边形(旋转(B,i*360*((°)/(n)),A),旋转(B',i*360*((°)/(n)),A),旋转(C,i*360*((°)/(n)),A),旋转(B'',i*360*((°)/(n)),A)),i,0,n-1) #正方形绕点A旋转得到n个 list2=序列(旋转(poly2,i*360*((°)/(n)),A),i,0,n-1) #星尖角角度 α=角度(B',B,B'') #缩放比例,风筝形短边/长边,值为tan(α/2),也为 ratio=((距离(B',C))/(距离(B',B))) #将基本图形缩放,往外扩增 list3=序列(位似(list1,ratio^(i),A),i,1,k) list4=序列(位似(list2,ratio^(i),A),i,1,k) #将基本图形缩放,往外缩小 list5=序列(位似(list2,ratio^(-i),A),i,1,m) list6=序列(位似(list1,ratio^(-i),A),i,1,m) h=true j=true #h控制风筝形,j控制正方形 设置显示条件(list1,h) 设置显示条件(list3,h) 设置显示条件(list6,h) 设置显示条件(list2,j) 设置显示条件(list4,j) 设置显示条件(list5,j) 制作自定义工具 KitesSquares(Centre,Radius,Number)

xx

美妙的图形只需要五个序列就可以完成: L_1:序列(向量((1; 2π / n i)), i, 0, m - 1) L_2:添加(A, 序列(A + 总和(L_1, i), i, 1, m)) L_3:旋转(L_2, 2π / n) L_4:序列(多边形(L_2(i + 1), L_2(i + 2), L_3(i + 1), L_3(i)), i, 1, m - 1) L_5:序列(旋转(L_4, 2π / n i), i, 1, n) 另外再设置两个点A、B及两个参数值m、n。
#由于分成n份时,n角星凸角1(风筝形外角),凹角2=90,风筝形内角3 外角1=90°-360°/n 内角3=180°-角1=90°+360°/n #缩放比例,风筝形短边/长边,值为tan(角1/2) 风筝形长边=R*sin(360°/2n)*tan(45°) 长/短=(1/sin(外角1/2))/(1/sin(内角3/2))=sin(内角3/2)/sin(外角1/2) 风筝形短边=R*sin(360°/2n)*tan(45°)*sin(外角1/2)/sin(内角3/2)即为 风筝形短边=R*sin(360°/2n)*tan(45°)*sin((90°-360°/n)/2)/sin((90°+360°/n)/2)