Three-Parameter Model Transformations of the Tetrahedron: Extreme Distributions

Three-Parameter Model Transformations of the Tetrahedron: Extreme Distributions
Loading the math board and drawing, please wait…
2020-03-07 02:16
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

  1. Length(m00) → n00
  2. Length(m00(1)) → n00_1
  3. Sequence({V00(m00(i, 1) + 1), V00(m00(i, 2) + 1), V00(m00(i, 3) + 1)}, i, 1, n00) → V00'
  4. 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) → V0a
  5. Zip(Rotate[a, α, Line[(0, 0), b]], a, V0a, b, Cmi) → V0b
  6. Join(V0b) → V0c
  7. If(t ≟ 0 ∨ t ≟ 0.5 ∨ q ≟ 1 ∨ q ≟ 0, Unique[V0c], V0c) → V0cc
  8. Length(V0cc) → läV'
  9. Text("" + p) → txt_p
  10. Sum(Flatten[Sequence[Append[Sequence[Element[txt_p, i], i, m1(k), m2(k)], " "], k, 1, 5]]) → txtUm1
  11. Sequence(Polygon[Sequence[V00(m00(i, k) + 1), k, 1, Length[m00(1)]]], i, 1, Length[m00]) → Poly3
  12. Length(V0c) → läV0c
  13. Sequence(Segment[V0c(m4(1, j)), V0c(m4(1, If[j ≟ 4, 1, j + 1]))], j, 1, 4) → seg4_i
  14. Length(V0cc) → n3
  15. Length(V00(1)) → läV00_1
  16. Sequence(Segment[V0c(m3a(1, j)), V0c(m3a(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3a_i
  17. Sequence(Segment[V0c(m3b(1, j)), V0c(m3b(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3b_i
  18. Sequence(Segment[V0c(m6a(1, j)), V0c(m6a(1, If[j ≟ 6, 1, j + 1]))], j, 1, 6) → seg6a_i
  19. Sequence(Segment[V0c(m6a(1, j)), V0c(m6a(1, If[j ≟ 6, 1, j + 1]))], j, 1, 6) → seg6_i
  20. KeepIf(x > 0, seg6_i) → seg6_i1
  21. KeepIf(x > 0, seg6a_i) → seg6a_i1
  22. KeepIf(x > 0, seg4_i) → seg4_i1
  23. Length(V0c(1)) → läV0c_1
  24. Dilate(q0, q, Cmi(1)) → q0'
  25. Sphere(O, läV0c_1) → sphe
  26. Sequence(Polygon[Sequence[V0c(m6a(i, k)), k, 1, Length[m6a(1)]]], i, 1, Length[m6a]) → Poly6a
  27. Sequence(Polygon[Sequence[V0c(m4(i, k)), k, 1, Length[m4(1)]]], i, 1, Length[m4]) → Poly4
  28. Sequence(Polygon[Sequence[V0c(m3c(i, k)), k, 1, Length[m3c(1)]]], i, 1, Length[m3c]) → Poly3c
  29. Sequence(Segment[V0c(m3c(1, j)), V0c(m3c(1, If[j ≟ 3, 1, j + 1]))], j, 1, 3) → seg3c_i
  30. TableText(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") → text6c
  31. TableText(Append["segments", 1…10], Append["\fgcolor{red}{ poly4} ", seg4_i1], Append["\fgcolor{green}{poly\; 6\; or\; 3}", seg6_i1], "v") → text6b
  32. Sequence(Polygon[Sequence[If[α < rad, V0c(m3aa(i, k)), V0c(m3a(i, k))], k, 1, Length[m3a(1)]]], i, 1, Length[m3a]) → Poly3a
  33. Sequence(Polygon[Sequence[If[α < rad, V0c(m3bb(i, k)), V0c(m3b(i, k))], k, 1, Length[m3b(1)]]], i, 1, Length[m3b]) → Poly3b
  34. UnicodeToLetter(34) → u34
  35. Text(text18r, A, false, true) → text18s
  36. Sequence(Polygon[Sequence[V0c(m6b(i, k)), k, 1, Length[m6b(1)]]], i, 1, Length[m6b]) → Poly6b