Three-Parameter Model Transformations of the Tetrahedron: Extreme Distributions
Loading the math board and drawing, please wait…
This GeoGebra example demonstrates transformations of a tetrahedron under a three-parameter model, focusing on extreme distributions. It explores core mathematical concepts such as centroid/barycenter, linear programming and optimization, volume and surface area of 3D solids, statistical characteristics including correlation, and special points. The construction uses commands like Length, Sequence, Zip, Join, If, Text, Sum, KeepIf, Dilate, Sphere, TableText, and UnicodeToLetter to create dynamic objects controlled by parameters (α, m, n) and sliders (buttons 9-12). It computes and displays extreme values (pmaxq, pmaxt, pmaxα) and provides interactive exploration. Suitable for high school to university level, particularly for visualizing solid geometry, optimization problems, and linear programming.
GeoGebra Commands & Parameters
Length(m00) → n00Length(m00(1)) → n00_1Sequence({V00(m00(i, 1) + 1), V00(m00(i, 2) + 1), V00(m00(i, 3) + 1)}, i, 1, n00) → V00'Sequence(Dilate[Flatten[Sequence[V00'(i, j) + ((If[j < n00_1, V00'(i, j + 1), V00'(i, 1)] - V00'(i, j)) * {t, 1 - t}), j, 1, n00_1]], q, Cmi(i)], i, 1, n00) → V0aZip(Rotate[a, α, Line[(0, 0), b]], a, V0a, b, Cmi) → V0bJoin(V0b) → V0cIf(t ≟ 0 ∨ t ≟ 0.5 ∨ q ≟ 1 ∨ q ≟ 0, Unique[V0c], V0c) → V0ccLength(V0cc) → läV'Text("" + p) → txt_pSum(Flatten[Sequence[Append[Sequence[Element[txt_p, i], i, m1(k), m2(k)], " "], k, 1, 5]]) → txtUm1Sequence(Polygon[Sequence[V00(m00(i, k) + 1), k, 1, Length[m00(1)]]], i, 1, Length[m00]) → Poly3Length(V0c) → läV0cSequence(Segment[V0c(m4(1, j)), V0c(m4(1, If[j ≟ 4, 1, j + 1]))], j, 1, 4) → seg4_iLength(V0cc) → n3Length(V00(1)) → läV00_1Sequence(Segment[V0c(m3a(1, j)), V0c(m3a(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3a_iSequence(Segment[V0c(m3b(1, j)), V0c(m3b(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3b_iSequence(Segment[V0c(m6a(1, j)), V0c(m6a(1, If[j ≟ 6, 1, j + 1]))], j, 1, 6) → seg6a_iSequence(Segment[V0c(m6a(1, j)), V0c(m6a(1, If[j ≟ 6, 1, j + 1]))], j, 1, 6) → seg6_iKeepIf(x > 0, seg6_i) → seg6_i1KeepIf(x > 0, seg6a_i) → seg6a_i1KeepIf(x > 0, seg4_i) → seg4_i1Length(V0c(1)) → läV0c_1Dilate(q0, q, Cmi(1)) → q0'Sphere(O, läV0c_1) → spheSequence(Polygon[Sequence[V0c(m6a(i, k)), k, 1, Length[m6a(1)]]], i, 1, Length[m6a]) → Poly6aSequence(Polygon[Sequence[V0c(m4(i, k)), k, 1, Length[m4(1)]]], i, 1, Length[m4]) → Poly4Sequence(Polygon[Sequence[V0c(m3c(i, k)), k, 1, Length[m3c(1)]]], i, 1, Length[m3c]) → Poly3cSequence(Segment[V0c(m3c(1, j)), V0c(m3c(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3c_iTableText(Append["segments", 1…6], Append["\fgcolor{#FE6F5E}{ poly3a} ", seg3a_i], Append["\fgcolor{#D19FE8}{ poly3b} ", seg3b_i], Append["\fgcolor{#008000}{poly\;3c\; }", seg3c_i], Append["\fgcolor{#008B8B}{poly\;6\; or\; 3 }", seg6a_i1], "v") → text6cTableText(Append["segments", 1…10], Append["\fgcolor{red}{ poly4} ", seg4_i1], Append["\fgcolor{green}{poly\; 6\; or\; 3}", seg6_i1], "v") → text6bSequence(Polygon[Sequence[If[α < rad, V0c(m3aa(i, k)), V0c(m3a(i, k))], k, 1, Length[m3a(1)]]], i, 1, Length[m3a]) → Poly3aSequence(Polygon[Sequence[If[α < rad, V0c(m3bb(i, k)), V0c(m3b(i, k))], k, 1, Length[m3b(1)]]], i, 1, Length[m3b]) → Poly3bUnicodeToLetter(34) → u34Text(text18r, A, false, true) → text18sSequence(Polygon[Sequence[V0c(m6b(i, k)), k, 1, Length[m6b(1)]]], i, 1, Length[m6b]) → Poly6b