椭圆镶嵌图案
几何画板及绘图内容加载中,请稍等……
这个范例展示了椭圆镶嵌图案的构造过程。它涉及圆、三角函数和变换等核心数学概念。通过使用旋转、镜像、序列等GeoGebra命令,可以构造出复杂的几何图案。适合高中数学教学和学习。
GeoGebra 命令及参数
Rotate(A, ((-pi)) / 2, OO) → G1Mirror(L2A, Line[(0, 0, (-b)), (0, 1, (-b))]) → L2BMirror(L3B, Line[(0, 0, (-b)), (0, 1, (-b))]) → L3CSequence(Rotate[L3C, (k * pi / 2), OO], k, 0, 3) → lista3B'Sequence(Rotate[L3B, (k * pi / 2), OO], k, 0, 3) → lista3BSequence(Rotate[L3A, (k * pi / 2), OO], k, 0, 3) → lista3ASequence(Rotate[L2B, (k * pi / 2), OO], k, 0, 3) → lista2'Sequence(Rotate[L4, (k * pi / 2), OO], k, 0, 3) → lista4Sequence(Rotate[L2A, (k * pi / 2), OO], k, 0, 3) → lista2Sequence(Rotate[L1, (k * pi / 4), OO], k, 0, 7) → lista1Line(((-b), (-b), (-b)), ((-b), b, (-b))) → r1Rotate(mos1, ((-pi)) / 2, r1) → mos2Line(((-b), (-b), (-b)), (b, (-b), (-b))) → r2Rotate(mos1, pi / 2, r2) → mos3Sequence(Polygon[mos1(1, k)], k, 1, Length[mos1(1)]) → p1azulSequence(Polygon[mos2(1, k)], k, 1, Length[mos2(1)]) → p2azulSequence(Polygon[mos3(1, k)], k, 1, Length[mos3(1)]) → p3azulTranslate(p1azul, Vector[(0, 0, (2 * b))]) → p1azul'Translate(p2azul, Vector[((2 * b), 0, 0)]) → p2azul'Translate(p3azul, Vector[(0, (2 * b), 0)]) → p3azul'Sequence(Polygon[mos1(2, k)], k, 1, Length[mos1(2)]) → p1naranjaASequence(Polygon[mos2(2, k)], k, 1, Length[mos2(2)]) → p2naranjaASequence(Polygon[mos3(2, k)], k, 1, Length[mos3(2)]) → p3naranjaATranslate(p1naranjaA, Vector[(0, 0, (2 * b))]) → p1naranjaA'Translate(p2naranjaA, Vector[((2 * b), 0, 0)]) → p2naranjaA'Translate(p3naranjaA, Vector[(0, (2 * b), 0)]) → p3naranjaA'Sequence(Polygon[mos1(3, k)], k, 1, Length[mos1(3)]) → p1naranjaBTranslate(p1naranjaB, Vector[(0, 0, (2 * b))]) → p1naranjaB'Sequence(Polygon[mos2(3, k)], k, 1, Length[mos2(3)]) → p2naranjaBTranslate(p2naranjaB, Vector[((2 * b), 0, 0)]) → p2naranjaB'Sequence(Polygon[mos3(3, k)], k, 1, Length[mos3(3)]) → p3naranjaBTranslate(p3naranjaB, Vector[(0, (2 * b), 0)]) → p3naranjaB'Sequence(Polygon[mos1(4, k)], k, 1, Length[mos1(4)]) → p1lilaASequence(Polygon[mos1(5, k)], k, 1, Length[mos1(5)]) → p1lilaBSequence(Polygon[mos1(6, k)], k, 1, Length[mos1(6)]) → p1lilaCSequence(Polygon[mos1(7, k)], k, 1, Length[mos1(7)]) → p1verdeTranslate(p1lilaA, Vector[(0, 0, (2 * b))]) → p1lilaA'Translate(p1lilaB, Vector[(0, 0, (2 * b))]) → p1lilaB'Translate(p1lilaC, Vector[(0, 0, (2 * b))]) → p1lilaC'Sequence(Polygon[mos2(4, k)], k, 1, Length[mos2(4)]) → p2lilaASequence(Polygon[mos2(5, k)], k, 1, Length[mos2(5)]) → p2lilaBSequence(Polygon[mos2(6, k)], k, 1, Length[mos2(6)]) → p2lilaCTranslate(p2lilaA, Vector[((2 * b), 0, 0)]) → p2lilaA'Translate(p2lilaB, Vector[((2 * b), 0, 0)]) → p2lilaB'Translate(p2lilaC, Vector[((2 * b), 0, 0)]) → p2lilaC'Sequence(Polygon[mos3(4, k)], k, 1, Length[mos3(4)]) → p3lilaASequence(Polygon[mos3(5, k)], k, 1, Length[mos3(5)]) → p3lilaBSequence(Polygon[mos3(6, k)], k, 1, Length[mos3(6)]) → p3lilaCTranslate(p3lilaA, Vector[(0, (2 * b), 0)]) → p3lilaA'Translate(p3lilaB, Vector[(0, (2 * b), 0)]) → p3lilaB'Translate(p3lilaC, Vector[(0, (2 * b), 0)]) → p3lilaC'Translate(p1verde, Vector[(0, 0, (2 * b))]) → p1verde'Sequence(Polygon[mos2(7, k)], k, 1, Length[mos2(7)]) → p2verdeTranslate(p2verde, Vector[((2 * b), 0, 0)]) → p2verde'Sequence(Polygon[mos3(7, k)], k, 1, Length[mos3(7)]) → p3verdeTranslate(p3verde, Vector[(0, (2 * b), 0)]) → p3verde'Sequence(Segment[segExtr0(k, 1), segExtr0(k, 2)], k, 1, Length[segExtr0]) → negro01Sequence(Rotate[negro01, (k * pi / 2), OO], k, 0, 3) → negro1Translate(negro1, Vector[(0, 0, (2 * b))]) → negro1'Rotate(negro1, ((-pi)) / 2, Line[((-b), (-b), (-b)), ((-b), b, (-b))]) → negro2Translate(negro2, Vector[((2 * b), 0, 0)]) → negro2'Rotate(negro1, pi / 2, Line[((-b), (-b), (-b)), (b, (-b), (-b))]) → negro3Translate(negro3, Vector[(0, (2 * b), 0)]) → negro3'Rotate(cara1, ((-pi)) / 2, Line[((-b), (-b), (-b)), ((-b), b, (-b))]) → cara2Rotate(cara1, pi / 2, Line[((-b), (-b), (-b)), (b, (-b), (-b))]) → cara3Translate(cara1, Vector[(0, 0, (2 * b))]) → cara1'Translate(cara2, Vector[((2 * b), 0, 0)]) → cara2'Translate(cara3, Vector[(0, (2 * b), 0)]) → cara3'Sphere(O, r) → aJoin(Join[Sequence[Rotate[segExtr0, (k * pi / 2), OO], k, 0, 3]]) → segExtr1Vector((0, 0, (2 * b))) → v1Translate(segExtr1, v1) → segExtr1'Sequence(Ray[O, segExtr1'(k)], k, 1, Length[segExtr1']) → rayosSequence(Intersect[Element[rayos, k], a], k, 1, Length[rayos]) → inter1'Sequence(CircumcircleArc[inter1'(k), Intersect[Ray[O, (inter1'(k) + inter1'(k + 1)) / 2], a], inter1'(k + 1)], k, 1, Length[inter1'], 2) → arc1'Translate(Rotate[arc1', pi / 2, Line[((-b), (-b), (-b)), ((-b), b, (-b))]], Vector[(0, 0, (2 * b))]) → arc2Mirror(arc2, Plane[yAxis, zAxis]) → arc2'Translate(Rotate[arc1', ((-pi)) / 2, Line[((-b), (-b), (-b)), (b, (-b), (-b))]], Vector[(0, 0, (2 * b))]) → arc3Mirror(arc3, Plane[xAxis, zAxis]) → arc3'Mirror(arc1', xOyPlane) → arc1Sequence(Segment[Vcubo2(k, 1), Vcubo2(k, 2)], k, 1, 12) → segCuboSequence(Segment[Vdode2(k, 1), Vdode2(k, 2)], k, 1, 30) → segDodeSequence(Segment[Vico2(k, 1), Vico2(k, 2)], k, 1, 30) → segIcoSequence(Segment[Vocta2(k, 1), Vocta2(k, 2)], k, 1, 12) → segOctaSequence(Segment[Vtetra2(k, 1), Vtetra2(k, 2)], k, 1, 6) → segTetraSequence(CircleArc[(0, 0, 0), Vtetra2(k, 1), Vtetra2(k, 2)], k, 1, 6) → arcosTetraSequence(CircleArc[(0, 0, 0), Vocta2(k, 1), Vocta2(k, 2)], k, 1, 12) → arcosOctaSequence(CircleArc[(0, 0, 0), Vico2(k, 1), Vico2(k, 2)], k, 1, 30) → arcosIcoSequence(CircleArc[(0, 0, 0), Vdode2(k, 1), Vdode2(k, 2)], k, 1, 30) → arcosDodeSequence(CircleArc[(0, 0, 0), Vcubo2(k, 1), Vcubo2(k, 2)], k, 1, 12) → arcosCuboSphere(O, r) → a'Vector(((2 * b), 0, 0)) → v2Vector((0, (2 * b), 0)) → v3Translate(mos1, v1) → mos1'Translate(mos2, v2) → mos2'Translate(mos3, v3) → mos3'Length(L) → nMirror(inter1', xOyPlane) → inter1Translate(Rotate[inter1', pi / 2, Line[((-b), (-b), (-b)), ((-b), b, (-b))]], Vector[(0, 0, (2 * b))]) → inter2Translate(Rotate[inter1', ((-pi)) / 2, Line[((-b), (-b), (-b)), (b, (-b), (-b))]], Vector[(0, 0, (2 * b))]) → inter3Mirror(inter2, Plane[yAxis, zAxis]) → inter2'Mirror(inter3, Plane[xAxis, zAxis]) → inter3'Sphere(O, r) → aaPolyLine(L1(6), L1(1), L1(2)) → poligonal01A1PolyLine(L1(5), L1(4), L1(3)) → poligonal01A2Point(poligonal01A1, pinta) → P01A1Point(poligonal01A2, pinta) → P01A2Intersect(Ray[O, P01A1], a) → Q01A1,Intersect(Ray[O, P01A2], a) → Q01A2,Intersect(Ray[O, P01AM], a) → Q01AM,CircumcircleArc(Q01A1, Q01AM, Q01A2) → seg01arc0PolyLine(Sequence[Point[seg01arc0, k], k, 0, 1, 0.1]) → seg01arcSequence(Rotate[seg01arc, (k * pi / 4)], k, 0, 7) → seg01A1Translate(Rotate[seg01A1, ((-pi)) / 2, r1], v2) → seg01A2Translate(Rotate[seg01A1, pi / 2, r2], v3) → seg01A3Rotate(seg01A2, pi) → seg01A2'Rotate(seg01A3, pi) → seg01A3'Rotate(seg01A1, pi, xAxis) → seg01A1'Rotate(segExtr1, ((-pi)) / 2, r1) → segExtr2Rotate(segExtr1, pi / 2, r2) → segExtr3Translate(segExtr2, v2) → segExtr2'Translate(segExtr3, v3) → segExtr3'PolyLine(L2A(4), L2A(3), L2A(2)) → poligonal02A1PolyLine(L2A(5), L2A(1)) → poligonal02A2PolyLine(L2B(4), L2B(3), L2B(2)) → poligonal02B1PolyLine(L2B(5), L2B(1)) → poligonal02B2Point(poligonal02A1, pinta) → P02A1Point(poligonal02A2, pinta) → P02A2Intersect(Ray[O, P02A1], a) → Q02A1,Intersect(Ray[O, P02A2], a) → Q02A2,Intersect(Ray[O, P02AM], a) → Q02AM,CircumcircleArc(Q02A1, Q02AM, Q02A2) → seg02Aarc0PolyLine(Sequence[Point[seg02Aarc0, k], k, 0, 1, 0.1]) → seg02AarcPoint(poligonal02B1, pinta) → P02B1Point(poligonal02B2, pinta) → P02B2Intersect(Ray[O, P02B1], a) → Q02B1,Intersect(Ray[O, P02B2], a) → Q02B2,Intersect(Ray[O, P02BM], a) → Q02BM,CircumcircleArc(Q02B1, Q02BM, Q02B2) → seg02Barc0PolyLine(Sequence[Point[seg02Barc0, k], k, 0, 1, 0.1]) → seg02BarcSequence(Rotate[seg02Aarc, (k * pi / 2)], k, 0, 3) → seg02A1Translate(Rotate[seg02A1, ((-pi)) / 2, r1], v2) → seg02A2Translate(Rotate[seg02A1, pi / 2, r2], v3) → seg02A3Rotate(seg02A1, pi, xAxis) → seg02A1'Rotate(seg02A2, pi) → seg02A2'Rotate(seg02A3, pi) → seg02A3'Sequence(Rotate[seg02Barc, (k * pi / 2)], k, 0, 3) → seg02B1Translate(Rotate[seg02B1, ((-pi)) / 2, r1], v2) → seg02B2Translate(Rotate[seg02B1, pi / 2, r2], v3) → seg02B3Rotate(seg02B1, pi, xAxis) → seg02B1'Rotate(seg02B2, pi) → seg02B2'Rotate(seg02B3, pi) → seg02B3'PolyLine(L3A(1), L3A(2), L3A(3), L3A(4)) → poligonal03A1PolyLine(L3A(1), L3A(6), L3A(5), L3A(4)) → poligonal03A2Point(poligonal03A1, pinta) → P03A1Point(poligonal03A2, pinta) → P03A2Intersect(Ray[O, P03A1], a) → Q03A1,Intersect(Ray[O, P03A2], a) → Q03A2,Intersect(Ray[O, P03AM], a) → Q03AM,CircumcircleArc(Q03A1, Q03AM, Q03A2) → seg03Aarc0PolyLine(Sequence[Point[seg03Aarc0, k], k, 0, 1, 0.1]) → seg03AarcSequence(Rotate[seg03Aarc, (k * pi / 2)], k, 0, 3) → seg03A1Translate(Rotate[seg03A1, ((-pi)) / 2, r1], v2) → seg03A2Translate(Rotate[seg03A1, pi / 2, r2], v3) → seg03A3Rotate(seg03A1, pi, xAxis) → seg03A1'Rotate(seg03A2, pi) → seg03A2'Rotate(seg03A3, pi) → seg03A3'PolyLine(L3B(1), L3B(4)) → poligonal03B1PolyLine(L3B(2), L3B(3)) → poligonal03B2Point(poligonal03B1, pinta) → P03B1Point(poligonal03B2, pinta) → P03B2Intersect(Ray[O, P03B1], a) → Q03B1,Intersect(Ray[O, P03B2], a) → Q03B2,Intersect(Ray[O, P03BM], a) → Q03BM,CircumcircleArc(Q03B1, Q03BM, Q03B2) → seg03Barc0PolyLine(Sequence[Point[seg03Barc0, k], k, 0, 1, 0.1]) → seg03BarcSequence(Rotate[seg03Barc, (k * pi / 2)], k, 0, 3) → seg03B1Translate(Rotate[seg03B1, ((-pi)) / 2, r1], v2) → seg03B2Translate(Rotate[seg03B1, pi / 2, r2], v3) → seg03B3Rotate(seg03B1, pi, xAxis) → seg03B1'Rotate(seg03B2, pi) → seg03B2'Rotate(seg03B3, pi) → seg03B3'PolyLine(L3C(1), L3C(4)) → poligonal03C1PolyLine(L3C(2), L3C(3)) → poligonal03C2Point(poligonal03C1, pinta) → P03C1Point(poligonal03C2, pinta) → P03C2Intersect(Ray[O, P03C1], a) → Q03C1,Intersect(Ray[O, P03C2], a) → Q03C2,Intersect(Ray[O, P03CM], a) → Q03CM,CircumcircleArc(Q03C1, Q03CM, Q03C2) → seg03Carc0PolyLine(Sequence[Point[seg03Carc0, k], k, 0, 1, 0.1]) → seg03CarcSequence(Rotate[seg03Carc, (k * pi / 2)], k, 0, 3) → seg03C1Translate(Rotate[seg03C1, ((-pi)) / 2, r1], v2) → seg03C2Translate(Rotate[seg03C1, pi / 2, r2], v3) → seg03C3Rotate(seg03C1, pi, xAxis) → seg03C1'Rotate(seg03C2, pi) → seg03C2'Rotate(seg03C3, pi) → seg03C3'PolyLine(L4(1), L4(2), L4(3), L4(4)) → poligonal04A1PolyLine(L4(7), L4(6), L4(5), L4(4)) → poligonal04A2Point(poligonal04A1, pinta) → P04A1Point(poligonal04A2, pinta) → P04A2Intersect(Ray[O, P04A1], a) → Q04A1,Intersect(Ray[O, P04A2], a) → Q04A2,Intersect(Ray[O, P04AM], a) → Q04AM,CircumcircleArc(Q04A1, Q04AM, Q04A2) → seg04arc0PolyLine(Sequence[Point[seg04arc0, k], k, 0, 1, 0.1]) → seg04arcSequence(Rotate[seg04arc, (k * pi / 2)], k, 0, 3) → seg04A1Translate(Rotate[seg04A1, ((-pi)) / 2, r1], v2) → seg04A2Translate(Rotate[seg04A1, pi / 2, r2], v3) → seg04A3Rotate(seg04A1, pi, xAxis) → seg04A1'Rotate(seg04A2, pi) → seg04A2'Rotate(seg04A3, pi) → seg04A3'