彩虹旋转错觉
几何画板及绘图内容加载中,请稍等……
①本范例演示了通过旋转和变换多边形生成的动态彩虹色旋转效果;②涉及的核心数学概念包括旋转、向量、数列、多边形构造及参数化动画;③作图要点提炼自构造摘要,使用了Rotate(旋转)、Vector(向量)、Translate(平移)、Sequence(数列)、Append(追加)、Polygon(多边形)等GeoGebra命令与对象;④适合高中数学教学,用于理解变换几何与参数化动画的原理。
GeoGebra 命令及参数
Rotate((1, 0), (2 * π / limit), (0, 0)) → R1Rotate((1, 0), ((2 * π / limit) * 2), (0, 0)) → R2Rotate((1, 0), ((2 * π / limit) * 3), (0, 0)) → R3Rotate((1, 0), ((2 * π / limit) * 4), (0, 0)) → R4Rotate((1, 0), ((2 * π / limit) * 5), (0, 0)) → R5Rotate((1, 0), ((2 * π / limit) * 6), (0, 0)) → R6Rotate((1, 0), ((2 * π / limit) * 7), (0, 0)) → R7Rotate((1, 0), ((2 * π / limit) * 8), (0, 0)) → R8Rotate((1, 0), ((2 * π / limit) * 9), (0, 0)) → R9Rotate((1, 0), ((2 * π / limit) * 10), (0, 0)) → R10Rotate((1, 0), ((2 * π / limit) * 11), (0, 0)) → R11Rotate((1, 0), ((2 * π / limit) * 12), (0, 0)) → R12Rotate((1, 0), ((2 * π / limit) * 13), (0, 0)) → R13Rotate((1, 0), ((2 * π / limit) * 14), (0, 0)) → R14Rotate((1, 0), ((2 * π / limit) * 15), (0, 0)) → R15Rotate((1, 0), ((2 * π / limit) * 16), (0, 0)) → R16Rotate((1, 0), ((2 * π / limit) * 17), (0, 0)) → R17Rotate((1, 0), ((2 * π / limit) * 18), (0, 0)) → R18Rotate((1, 0), ((2 * π / limit) * 19), (0, 0)) → R19Rotate((1, 0), ((2 * π / limit) * 20), (0, 0)) → R20Rotate((1, 0), ((2 * π / limit) * 21), (0, 0)) → R21Rotate((1, 0), ((2 * π / limit) * 22), (0, 0)) → R22Rotate((1, 0), ((2 * π / limit) * 23), (0, 0)) → R23Rotate((1, 0), ((2 * π / limit) * 24), (0, 0)) → R24Rotate((1, 0), ((2 * π / limit) * 25), (0, 0)) → R25Rotate((1, 0), ((2 * π / limit) * 26), (0, 0)) → R26Rotate((1, 0), ((2 * π / limit) * 27), (0, 0)) → R27Rotate((1, 0), ((2 * π / limit) * 28), (0, 0)) → R28Rotate((1, 0), ((2 * π / limit) * 29), (0, 0)) → R29Rotate((1, 0), ((2 * π / limit) * 30), (0, 0)) → R30Rotate((1, 0), ((2 * π / limit) * 31), (0, 0)) → R31Rotate((1, 0), ((2 * π / limit) * 32), (0, 0)) → R32Rotate((1, 0), ((2 * π / limit) * 33), (0, 0)) → R33Rotate((1, 0), ((2 * π / limit) * 34), (0, 0)) → R34Rotate((1, 0), ((2 * π / limit) * 35), (0, 0)) → R35Rotate((1, 0), ((2 * π / limit) * 36), (0, 0)) → R36Rotate((1, 0), ((2 * π / limit) * 37), (0, 0)) → R37Rotate((1, 0), ((2 * π / limit) * 38), (0, 0)) → R38Rotate((1, 0), ((2 * π / limit) * 39), (0, 0)) → R39Rotate((1, 0), ((2 * π / limit) * 40), (0, 0)) → R40Rotate((1, 0), ((2 * π / limit) * 41), (0, 0)) → R41Rotate((1, 0), ((2 * π / limit) * 42), (0, 0)) → R42Rotate((1, 0), ((2 * π / limit) * 43), (0, 0)) → R43Rotate((1, 0), ((2 * π / limit) * 44), (0, 0)) → R44Rotate((1, 0), ((2 * π / limit) * 45), (0, 0)) → R45Rotate((1, 0), ((2 * π / limit) * 46), (0, 0)) → R46Rotate((1, 0), ((2 * π / limit) * 47), (0, 0)) → R47Rotate((1, 0), ((2 * π / limit) * 48), (0, 0)) → R48Rotate((1, 0), ((2 * π / limit) * 49), (0, 0)) → R49Rotate((1, 0), ((2 * π / limit) * 50), (0, 0)) → R50Rotate((1, 0), ((2 * π / limit) * 51), (0, 0)) → R51Rotate((1, 0), ((2 * π / limit) * 52), (0, 0)) → R52Rotate((1, 0), ((2 * π / limit) * 53), (0, 0)) → R53Rotate((1, 0), ((2 * π / limit) * 54), (0, 0)) → R54Rotate((1, 0), ((2 * π / limit) * 55), (0, 0)) → R55Rotate((1, 0), ((2 * π / limit) * 56), (0, 0)) → R56Rotate((1, 0), ((2 * π / limit) * 57), (0, 0)) → R57Rotate((1, 0), ((2 * π / limit) * 58), (0, 0)) → R58Rotate((1, 0), ((2 * π / limit) * 59), (0, 0)) → R59Rotate((1, 0), ((2 * π / limit) * 60), (0, 0)) → R60Rotate((1, 0), ((2 * π / limit) * 61), (0, 0)) → R61Rotate((1, 0), ((2 * π / limit) * 62), (0, 0)) → R62Rotate((1, 0), ((2 * π / limit) * 63), (0, 0)) → R63Rotate((1, 0), ((2 * π / limit) * 64), (0, 0)) → R64Rotate((1, 0), ((2 * π / limit) * 65), (0, 0)) → R65Rotate((1, 0), ((2 * π / limit) * 66), (0, 0)) → R66Rotate((1, 0), ((2 * π / limit) * 67), (0, 0)) → R67Rotate((1, 0), ((2 * π / limit) * 68), (0, 0)) → R68Rotate((1, 0), ((2 * π / limit) * 69), (0, 0)) → R69Rotate((1, 0), ((2 * π / limit) * 70), (0, 0)) → R70Rotate((1, 0), ((2 * π / limit) * 71), (0, 0)) → R71Rotate((1, 0), ((2 * π / limit) * 72), (0, 0)) → R72Rotate((1, 0), ((2 * π / limit) * 73), (0, 0)) → R73Rotate((1, 0), ((2 * π / limit) * 74), (0, 0)) → R74Rotate((1, 0), ((2 * π / limit) * 75), (0, 0)) → R75Rotate((1, 0), ((2 * π / limit) * 76), (0, 0)) → R76Rotate((1, 0), ((2 * π / limit) * 77), (0, 0)) → R77Rotate((1, 0), ((2 * π / limit) * 78), (0, 0)) → R78Rotate((1, 0), ((2 * π / limit) * 79), (0, 0)) → R79Rotate((1, 0), ((2 * π / limit) * 80), (0, 0)) → R80Vector((0, 0), R1) → v1Vector((0, 0), R2) → v2Vector((0, 0), R3) → v3Vector((0, 0), R4) → v4Vector((0, 0), R5) → v5Vector((0, 0), R6) → v6Vector((0, 0), R7) → v7Vector((0, 0), R8) → v8Vector((0, 0), R9) → v9Vector((0, 0), R10) → v10Vector((0, 0), R11) → v11Vector((0, 0), R12) → v12Vector((0, 0), R13) → v13Vector((0, 0), R14) → v14Vector((0, 0), R15) → v15Vector((0, 0), R16) → v16Vector((0, 0), R17) → v17Vector((0, 0), R18) → v18Vector((0, 0), R19) → v19Vector((0, 0), R20) → v20Vector((0, 0), R21) → v21Vector((0, 0), R22) → v22Vector((0, 0), R23) → v23Vector((0, 0), R24) → v24Vector((0, 0), R25) → v25Vector((0, 0), R26) → v26Vector((0, 0), R27) → v27Vector((0, 0), R28) → v28Vector((0, 0), R29) → v29Vector((0, 0), R30) → v30Vector((0, 0), R31) → v31Vector((0, 0), R32) → v32Vector((0, 0), R33) → v33Vector((0, 0), R34) → v34Vector((0, 0), R35) → v35Vector((0, 0), R36) → v36Vector((0, 0), R37) → v37Vector((0, 0), R38) → v38Vector((0, 0), R39) → v39Vector((0, 0), R40) → v40Vector((0, 0), R41) → v41Vector((0, 0), R42) → v42Vector((0, 0), R43) → v43Vector((0, 0), R44) → v44Vector((0, 0), R45) → v45Vector((0, 0), R46) → v46Vector((0, 0), R47) → v47Vector((0, 0), R48) → v48Vector((0, 0), R49) → v49Vector((0, 0), R50) → v50Vector((0, 0), R51) → v51Vector((0, 0), R52) → v52Vector((0, 0), R53) → v53Vector((0, 0), R54) → v54Vector((0, 0), R55) → v55Vector((0, 0), R56) → v56Vector((0, 0), R57) → v57Vector((0, 0), R58) → v58Vector((0, 0), R59) → v59Vector((0, 0), R60) → v60Vector((0, 0), R61) → v61Vector((0, 0), R62) → v62Vector((0, 0), R63) → v63Vector((0, 0), R64) → v64Vector((0, 0), R65) → v65Vector((0, 0), R66) → v66Vector((0, 0), R67) → v67Vector((0, 0), R68) → v68Vector((0, 0), R69) → v69Vector((0, 0), R70) → v70Vector((0, 0), R71) → v71Vector((0, 0), R72) → v72Vector((0, 0), R73) → v73Vector((0, 0), R74) → v74Vector((0, 0), R75) → v75Vector((0, 0), R76) → v76Vector((0, 0), R77) → v77Vector((0, 0), R78) → v78Vector((0, 0), R79) → v79Vector((0, 0), R80) → v80Translate(R1, ((t * f((2 * π / limit))) * v1)) → T1Translate(R2, ((t * f(((2 * π / limit) * 2))) * v2)) → T2Translate(R3, ((t * f(((2 * π / limit) * 3))) * v3)) → T3Translate(R4, ((t * f(((2 * π / limit) * 4))) * v4)) → T4Translate(R5, ((t * f(((2 * π / limit) * 5))) * v5)) → T5Translate(R6, ((t * f(((2 * π / limit) * 6))) * v6)) → T6Translate(R7, ((t * f(((2 * π / limit) * 7))) * v7)) → T7Translate(R8, ((t * f(((2 * π / limit) * 8))) * v8)) → T8Translate(R9, ((t * f(((2 * π / limit) * 9))) * v9)) → T9Translate(R10, ((t * f(((2 * π / limit) * 10))) * v10)) → T10Translate(R11, ((t * f(((2 * π / limit) * 11))) * v11)) → T11Translate(R12, ((t * f(((2 * π / limit) * 12))) * v12)) → T12Translate(R13, ((t * f(((2 * π / limit) * 13))) * v13)) → T13Translate(R14, ((t * f(((2 * π / limit) * 14))) * v14)) → T14Translate(R15, ((t * f(((2 * π / limit) * 15))) * v15)) → T15Translate(R16, ((t * f(((2 * π / limit) * 16))) * v16)) → T16Translate(R17, ((t * f(((2 * π / limit) * 17))) * v17)) → T17Translate(R18, ((t * f(((2 * π / limit) * 18))) * v18)) → T18Translate(R19, ((t * f(((2 * π / limit) * 19))) * v19)) → T19Translate(R20, ((t * f(((2 * π / limit) * 20))) * v20)) → T20Translate(R21, ((t * f(((2 * π / limit) * 21))) * v21)) → T21Translate(R22, ((t * f(((2 * π / limit) * 22))) * v22)) → T22Translate(R23, ((t * f(((2 * π / limit) * 23))) * v23)) → T23Translate(R24, ((t * f(((2 * π / limit) * 24))) * v24)) → T24Translate(R25, ((t * f(((2 * π / limit) * 25))) * v25)) → T25Translate(R26, ((t * f(((2 * π / limit) * 26))) * v26)) → T26Translate(R27, ((t * f(((2 * π / limit) * 27))) * v27)) → T27Translate(R28, ((t * f(((2 * π / limit) * 28))) * v28)) → T28Translate(R29, ((t * f(((2 * π / limit) * 29))) * v29)) → T29Translate(R30, ((t * f(((2 * π / limit) * 30))) * v30)) → T30Translate(R31, ((t * f(((2 * π / limit) * 31))) * v31)) → T31Translate(R32, ((t * f(((2 * π / limit) * 32))) * v32)) → T32Translate(R33, ((t * f(((2 * π / limit) * 33))) * v33)) → T33Translate(R34, ((t * f(((2 * π / limit) * 34))) * v34)) → T34Translate(R35, ((t * f(((2 * π / limit) * 35))) * v35)) → T35Translate(R36, ((t * f(((2 * π / limit) * 36))) * v36)) → T36Translate(R37, ((t * f(((2 * π / limit) * 37))) * v37)) → T37Translate(R38, ((t * f(((2 * π / limit) * 38))) * v38)) → T38Translate(R39, ((t * f(((2 * π / limit) * 39))) * v39)) → T39Translate(R40, ((t * f(((2 * π / limit) * 40))) * v40)) → T40Translate(R41, ((t * f(((2 * π / limit) * 41))) * v41)) → T41Translate(R42, ((t * f(((2 * π / limit) * 42))) * v42)) → T42Translate(R43, ((t * f(((2 * π / limit) * 43))) * v43)) → T43Translate(R44, ((t * f(((2 * π / limit) * 44))) * v44)) → T44Translate(R45, ((t * f(((2 * π / limit) * 45))) * v45)) → T45Translate(R46, ((t * f(((2 * π / limit) * 46))) * v46)) → T46Translate(R47, ((t * f(((2 * π / limit) * 47))) * v47)) → T47Translate(R48, ((t * f(((2 * π / limit) * 48))) * v48)) → T48Translate(R49, ((t * f(((2 * π / limit) * 49))) * v49)) → T49Translate(R50, ((t * f(((2 * π / limit) * 50))) * v50)) → T50Translate(R51, ((t * f(((2 * π / limit) * 51))) * v51)) → T51Translate(R52, ((t * f(((2 * π / limit) * 52))) * v52)) → T52Translate(R53, ((t * f(((2 * π / limit) * 53))) * v53)) → T53Translate(R54, ((t * f(((2 * π / limit) * 54))) * v54)) → T54Translate(R55, ((t * f(((2 * π / limit) * 55))) * v55)) → T55Translate(R56, ((t * f(((2 * π / limit) * 56))) * v56)) → T56Translate(R57, ((t * f(((2 * π / limit) * 57))) * v57)) → T57Translate(R58, ((t * f(((2 * π / limit) * 58))) * v58)) → T58Translate(R59, ((t * f(((2 * π / limit) * 59))) * v59)) → T59Translate(R60, ((t * f(((2 * π / limit) * 60))) * v60)) → T60Translate(R61, ((t * f(((2 * π / limit) * 61))) * v61)) → T61Translate(R62, ((t * f(((2 * π / limit) * 62))) * v62)) → T62Translate(R63, ((t * f(((2 * π / limit) * 63))) * v63)) → T63Translate(R64, ((t * f(((2 * π / limit) * 64))) * v64)) → T64Translate(R65, ((t * f(((2 * π / limit) * 65))) * v65)) → T65Translate(R66, ((t * f(((2 * π / limit) * 66))) * v66)) → T66Translate(R67, ((t * f(((2 * π / limit) * 67))) * v67)) → T67Translate(R68, ((t * f(((2 * π / limit) * 68))) * v68)) → T68Translate(R69, ((t * f(((2 * π / limit) * 69))) * v69)) → T69Translate(R70, ((t * f(((2 * π / limit) * 70))) * v70)) → T70Translate(R71, ((t * f(((2 * π / limit) * 71))) * v71)) → T71Translate(R72, ((t * f(((2 * π / limit) * 72))) * v72)) → T72Translate(R73, ((t * f(((2 * π / limit) * 73))) * v73)) → T73Translate(R74, ((t * f(((2 * π / limit) * 74))) * v74)) → T74Translate(R75, ((t * f(((2 * π / limit) * 75))) * v75)) → T75Translate(R76, ((t * f(((2 * π / limit) * 76))) * v76)) → T76Translate(R77, ((t * f(((2 * π / limit) * 77))) * v77)) → T77Translate(R78, ((t * f(((2 * π / limit) * 78))) * v78)) → T78Translate(R79, ((t * f(((2 * π / limit) * 79))) * v79)) → T79Translate(R80, ((t * f(((2 * π / limit) * 80))) * v80)) → T80Sequence((1^(1 / freq) * (cos(π / 2 / freq + (((2 * π) * k)) / freq) + (ί * sin(π / 2 / freq + (((2 * π) * k)) / freq)))), k, 0, freq - 1) → ZPAppend(T1:T80, T1) → PointsPolygon(Points) → poly1Rotate(ZP, s / freq, (0, 0)) → ZP'