柔性立方八面体(滚动动画)
几何画板及绘图内容加载中,请稍等……
① 本范例演示了一个由纸张折叠而成的柔性立方八面体(Flexicuboctahedron)的滚动动画,展示多面体在空间中的连续变形与运动。② 核心数学概念涉及立体几何中的多面体结构、旋转与平移变换,以及通过参数控制实现动态几何模拟。③ 作图要点:使用GeoGebra命令如Point、Intersect、Cube、OrthogonalLine、Sphere、Dilate、Segment、Polygon、Line、Sequence、PolyLine、If、Rotate、Plane、Vector、Translate、Mirror等,构建了立方体及其面、边、顶点,并通过滑块(如ang1s、ang0、clock)和布尔控制(bControl)驱动旋转与滚动,实现动画效果。④ 适合中学高年级至大学阶段的数学教学,用于探索多面体的几何性质、空间变换及参数化动画设计,也可作为折纸数学与动态几何的拓展案例。
GeoGebra 命令及参数
Point(xAxis) → BIntersect(yAxis, xAxis) → APoint(Circle[B, Distance[A, B], Segment[A, B]]) → CCube(A, B, C) → cube1, D, faceCDHG, faceEFGH, edgeAD, edgeAB, edgeBC, edgeCD, edgeAE, edgeDH, edgeEH, edgeEF, E, edgeBF, edgeFG, edgeCG, edgeGH, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGFOrthogonalLine(CC, xAxis) → pSphere(A, radius) → cccDilate(C, dil, OOO) → C'Cube(A, B, C) → listPoly8_1, listPoly8_2, listPoly8_{11}, listPoly8_{12}, listPoly8_{13}, listPoly8_{14}, listPoly8_{15}, listPoly8_{16}, listPoly8_{17}, listPoly8_{18}, listPoly8_{19}, listPoly8_{20}, listPoly8_3, listPoly8_{21}, listPoly8_{22}, listPoly8_{23}, listPoly8_{24}, listPoly8_4, listPoly8_5, listPoly8_6, listPoly8_7, listPoly8_8, listPoly8_9, listPoly8_{10}Dilate(D, dil, OOO) → D'Segment(C', D') → edgeCD'Intersect(edgeBF, ccc) → P_1, W_1Intersect(edgeEH, ccc) → O_1, V_1Intersect(edgeEF, ccc) → N_1, M_1Polygon(B, P_1, E, A) → poly7, b, n_1, p_1, a_1Polygon(P_1, O_1, E) → poly8, c_1, d_1, e_1Line(A, G) → aSequence(Rotate[{poly7, poly8}, (n * 120°), a], n, 0, 3) → listPoly0Line(Q, xAxis) → jPoint(j) → TPoint(j) → B_2Point(j) → C_2Intersect(j, yAxis) → SLine(R, j) → kPoint(k) → UPoint(k) → VPolyLine(S, T, U, V, B_2, C_2) → lIntersect(p, l) → CC1If(bControl ≟ constSingle, ang0, If[bControl ≟ constClock, ang1a, ang1s]) → ang1Point(k) → ZIntersect(k, yAxis) → WPoint(k) → Z_1Point(k) → A_2Point(j) → B_1Point(j) → A_1PolyLine(W, Z, A_1, B_1, Z_1, A_2) → mIntersect(p, m) → CC2If(bControl ≟ constSingle, ang0, If[bControl ≟ constClock, ang2a, ang2s]) → ang2Dilate(H, dil, OOO) → H'Dilate(E, dil, OOO) → E'Segment(H', E') → edgeEH'Dilate(B, dil, OOO) → B'Dilate(F, dil, OOO) → F'Segment(F', B') → edgeBF'Point(j) → E_2Point(j) → D_2Point(j) → D_1Point(k) → C_1Point(m) → F_2PolyLine(S, D_1, C_1, F_2, D_2, E_2) → nIntersect(p, n) → CC3, CC3_1, CC3_2If(bControl ≟ constSingle, ang0, If[bControl ≟ constClock, ang3a, ang3s]) → ang3Rotate(Mirror[polyPoints1, listPoly8_{11}], (-ang1), edgeCD) → polyPoints1'Point(polyPoints1') → KPlane(B, C, K) → ePoint(polyPoints1') → JPoint(polyPoints1') → F_1Polygon(J, K, F_1) → poly1, f_1, j_1, k_1Rotate(Mirror[listPoly0, listPoly8_{11}], (-ang1), edgeCD') → listPoly2Segment(J, F_1) → qPoint(polyPoints1') → ISegment(I, J) → fRotate(Mirror[polyPoints1', poly1], (-ang2), q) → polyPoints1''Point(polyPoints1'') → E_1Rotate(cube1, (-ang1), edgeCD) → cube2Rotate(Mirror[polyPoints1, faceEFGH], 0*° + ang2, edgeEH) → polyPoints1'_1Point(polyPoints1'_1) → PPoint(polyPoints1'_1) → ORotate(cube1, ang2, edgeEH) → cube6Point(polyPoints1') → LSegment(K, L) → gPoint(polyPoints1'') → MPoint(polyPoints1'') → NSegment(M, N) → hRotate(cube2, (-ang2), f) → cube3Segment(P, O) → iRotate(cube3, ang3, h) → cube4Rotate(cube2, ang3, g) → cube5Rotate(cube1, ang3, edgeBF) → cube7Rotate(cube6, (-ang3), i) → cube8Rotate(Mirror[listPoly2, poly1], (-ang2), q) → listPoly3Intersect(edgeEF, edgeEH) → Q_1Point(polyPoints1'') → G_1Point(polyPoints1'') → H_1Segment(G_1, H_1) → rPoint(polyPoints1'') → I_1Polygon(G_1, F_1, I_1) → poly2, i_1, g_1, f_2Rotate(Mirror[listPoly3, poly2], ang3, r) → listPoly4Vector(M, F_1) → uVector(M, K) → vTranslate(I, u) → I'Translate(J, u) → J'Segment(I', J') → f'Translate(I, u) → I'_1Translate(F_1, v) → J_1Translate(I', u) → I''Translate(I_1, v) → I_1''Translate(I', v) → I''''Segment(J_1, I'''') → sPolygon(C, I'''', J_1) → poly3, j_2, c, i''''Rotate(Mirror[listPoly0, faceEFGH], 0*° + ang2, edgeEH') → listPoly6Rotate(Mirror[listPoly0, faceABFE], 0*° - ang3, edgeBF') → listPoly7Rotate(Mirror[listPoly2, poly3], 180° + ang3, s) → listPoly5Point(polyPoints1'_1) → K_1Point(polyPoints1'_1) → L_1Point(polyPoints1'_1) → R_1Polygon(K_1, L_1, R_1) → poly4, r_1, k_2, l_1Point(polyPoints1'_1) → S_1Point(polyPoints1'_1) → T_1Point(polyPoints1'_1) → U_1Polygon(U_1, S_1, T_1) → poly5, t_1, u_1, s_1Rotate(Mirror[listPoly6, poly5], 180° - ang3, s_1) → listPoly8Mirror(listPoly9, poly3) → listPoly9'Mirror(listPoly6, e) → listPoly6'Mirror(listPoly4, e) → listPoly4'Mirror(listPoly3, e) → listPoly3'Translate({listPoly0, listPoly3, listPoly5, listPoly8}, Vector[A, A]) → listSet11Mirror(listPoly8, e) → listPoly8'Translate({listPoly3', listPoly8'}, Vector[A, A]) → listTopSet2Translate({listPoly4', listPoly6'}, Vector[A, A]) → listTopSet1Translate(Mirror[{listPoly2, listPoly7}, e], Vector[A, A]) → listBottomSet2Translate(Mirror[{listPoly0, listPoly5}, e], Vector[A, A]) → listBottomSet1Translate({listPoly2, listPoly4, listPoly6, listPoly7}, Vector[A, A]) → listSet12Point(j) → H_2Point(j) → I_2Point(k) → J_2Point(k) → K_2PolyLine(H_2, I_2, J_2, K_2) → tIntersect(p, t) → CCC4OrthogonalLine(G_2, xOyPlane) → dTranslate(d, Vector[w / 2]) → d'Translate(Rotate[{listBottomSet2, listTopSet1}, (y(CCC4) * 180°), d'], w) → listSet21Translate(Rotate[{listBottomSet1, listTopSet2}, (y(CCC4) * 180°), d'], w) → listSet22Line(A, B) → h_1Line(A, I) → m_1Line(A, P) → q_1Rotate(B, (-ang1), m_1) → B'_1Rotate(P, (-ang1), m_1) → P'Point(m_1) → L_2Plane(A, B, P) → oOrthogonalLine(P', q_1, o) → b_1Intersect(b_1, q_1) → M_2Vector(P', M_2) → v_1Vector((abs(x(P') - x(M_2)), 0, 0)) → vabs_1Translate(Rotate[listPoly0, (-ang1), m_1], v_1) → listPoly01Translate(Rotate[B, (-ang1), m_1], v_1) → B1Rotate(B1, ang2, h_1) → B1'Rotate(listPoly01, ang2, h_1) → listPoly02
AI 绘图提示语参考
绘制一个可滚动的flexicuboctahedron,展示其由纸折叠而成的连续变形和空间运动。核心包含立方体及其面、边、顶点,结合旋转和位移变换,通过滑块控制旋转和滚动实现动画效果。关键对象有立方体、球体、多边形和线段,需体现几何变换和动态模拟。
以上提示语为根据原始绘图命令整理而来,仅供参考。