任意棱柱的底面不能是交叉多边形,但可以是凹多边形

任意棱柱的底面不能是交叉多边形,但可以是凹多边形
几何画板及绘图内容加载中,请稍等……
2015-05-17 01:52
所属专题 Nets of Solids
这个范例展示了如何构造一个任意棱柱的底面,强调底面不能是交叉多边形,但可以是凹多边形。核心数学概念包括多边形几何、立体几何和几何作图。作图要点包括使用GeoGebra命令如First, Append, Sequence, Rotate, Element, Last, Translate, Polygon, Prism等来创建底面和棱柱。适合初中或高中学生学习几何构造和立体几何概念。

GeoGebra 命令及参数

  1. First({A, B, C, D, E, F, G, H, I, J, K, L}, n) → P_0
  2. Append(Append[P_0, A], B) → P
  3. Sequence(Distance[Element[P, i], Element[P, i + 1]], i, 1, n) → Long
  4. Sequence((0, Sum[First[Long, i]]), i, 1, n) → FL_1
  5. Sequence((0, y(Element[P, i]), (-x(Element[P, i]))), i, 1, n + 1) → P_1
  6. Sequence(If[p < i - 1, 0, If[p < i, p - floor(p), 1]], i, 1, n + 1) → Lp
  7. Rotate(P_1, ((-Element[Lp, 2]) * (π - Angle[Element[P, 1], Element[P, 2], Element[P, 3], xOyPlane])), Line[Element[FL_1, 1], xAxis]) → P_2
  8. Rotate(P_2, ((-Element[Lp, 3]) * (π - Angle[Element[P, 2], Element[P, 3], Element[P, 4], xOyPlane])), Line[Element[FL_1, 2], xAxis]) → P_3
  9. Rotate(P_3, ((-Element[Lp, 4]) * (π - Angle[Element[P, 3], Element[P, 4], Element[P, 5], xOyPlane])), Line[Element[FL_1, 3], xAxis]) → P_4
  10. Rotate(P_4, ((-Element[Lp, 5]) * (π - Angle[Element[P, 4], Element[P, 5], Element[P, 6], xOyPlane])), Line[Element[FL_1, 4], xAxis]) → P_5
  11. Rotate(P_5, ((-Element[Lp, 6]) * (π - Angle[Element[P, 5], Element[P, 6], Element[P, 7], xOyPlane])), Line[Element[FL_1, 5], xAxis]) → P_6
  12. Rotate(P_6, ((-Element[Lp, 7]) * (π - Angle[Element[P, 6], Element[P, 7], Element[P, 8], xOyPlane])), Line[Element[FL_1, 6], xAxis]) → P_7
  13. Rotate(P_7, ((-Element[Lp, 8]) * (π - Angle[Element[P, 7], Element[P, 8], Element[P, 9], xOyPlane])), Line[Element[FL_1, 7], xAxis]) → P_8
  14. Rotate(P_8, ((-Element[Lp, 9]) * (π - Angle[Element[P, 8], Element[P, 9], Element[P, 10], xOyPlane])), Line[Element[FL_1, 8], xAxis]) → P_9
  15. Rotate(P_9, ((-Element[Lp, 10]) * (π - Angle[Element[P, 9], Element[P, 10], Element[P, 11], xOyPlane])), Line[Element[FL_1, 9], xAxis]) → P_10
  16. Rotate(P_10, ((-Element[Lp, 11]) * (π - Angle[Element[P, 10], Element[P, 11], Element[P, 12], xOyPlane])), Line[Element[FL_1, 10], xAxis]) → P_11
  17. Rotate(P_11, ((-Element[Lp, 12]) * (π - Angle[Element[P, 11], Element[P, 12], Element[P, 13], xOyPlane])), Line[Element[FL_1, 11], xAxis]) → P_12
  18. Element(LR, n) → PP
  19. Last(PP, n + 1 - floor(p)) → PR
  20. Translate(PR, Vector[(h, 0, 0)]) → Q
  21. Sequence(Polygon[Element[PR, i], Element[Q, i], Element[Q, i + 1], Element[PR, i + 1]], i, 1, Length[PR] - 1) → faceMob
  22. Append(A, First[FL_1, floor(p)]) → FL_2
  23. Translate(FL_2, Vector[(h, 0, 0)]) → FL_3
  24. Sequence(Polygon[Element[FL_2, i], Element[FL_2, i + 1], Element[FL_3, i + 1], Element[FL_3, i]], i, 2, Length[FL_2] - 1) → faceFix
  25. Polygon((0, 0, 0), Element[FL_2, 2], Element[FL_3, 2], (h, 0, 0)) → poly1, c, d, e, f
  26. Polygon(Sequence[(x(Element[P_0, i]), y(Element[P_0, i])), i, 1, n]) → poly2
  27. Prism(poly2, h) → pri, M, Z, A_1, B_1, face1, face3, face4, face5, face6, face7, face8, N, face9, face10, face11, face12, face2, face13, arête1, arête2, arête3, arête4, O, arête5, arête6, arête7, arête8, arête9, arête10, arête11, arête12, arêteMN, arêteNO, R, arêteOR, arêteRS, arêteST, arêteTU, arêteUV, arêteVW, arêteWZ, arête14, arête15, arête13, S, T, U, V, W
  28. Rotate(pri, (Element[Lp, 1] * π / 2), yAxis) → pri'
  29. Rotate(face13, (Element[Lp, 1] * π / 2), yAxis) → face13'
  30. Rotate(face13', (Element[Lp, 2] * π / 2), Line[(h, 0, 0), yAxis]) → face13''
  31. Textfield(n) → ChampTexte1