水平与垂直直线排序

水平与垂直直线排序
几何画板及绘图内容加载中,请稍等……
2019-03-08 02:08
①本范例演示如何对水平与垂直直线进行分类和排序;②涉及核心数学概念包括直线方程、解析几何、坐标系;③构造要点:使用 GeoGebra 命令 Sequence, Flatten, Shuffle, LaTeX, Zip, Element, Text 等创建和排列直线,并通过 tableCol1, tableCol2 等对象进行表格化展示;④适合高中数学教学,用于帮助学生理解直线分类和坐标系应用。

GeoGebra 命令及参数

  1. Sequence(Polygon[{tableAnchor + (col1Width + col2Width + col3Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width + col3Width + col4Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width + col3Width + col4Width, 0 - (rowHeight * i) - rowHeight), tableAnchor + (col1Width + col2Width + col3Width, ((-rowHeight) * i) - rowHeight)}], i, 0, lastRow - 1) → tableCol4
  2. Sequence(Polygon[{tableAnchor + (col1Width + col2Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width + col3Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width + col3Width, 0 - (rowHeight * i) - rowHeight), tableAnchor + (col1Width + col2Width, ((-rowHeight) * i) - rowHeight)}], i, 0, lastRow - 1) → tableCol3
  3. Sequence(Polygon[{tableAnchor + (col1Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width, 0 - (rowHeight * i)), tableAnchor + (col1Width + col2Width, 0 - (rowHeight * i) - rowHeight), tableAnchor + (col1Width, ((-rowHeight) * i) - rowHeight)}], i, 0, lastRow - 1) → tableCol2
  4. Flatten(Sequence[Sequence[(i, j), i, -8, -8 + (3 * (tileWidth + 1)), tileWidth + 1], j, -2.5, -2.5 - (2 * (tileHeight + 1)), (-tileHeight) - 1]) → fixedFrameAnchors
  5. Shuffle(fixedFrameAnchors) → shuffledFrameAnchors
  6. LaTeX(UnicodeToLetter[10003]) → cmark
  7. LaTeX(UnicodeToLetter[10007]) → xmark
  8. Sequence(Polygon[{tableAnchor + (0, 0 - (rowHeight * i)), tableAnchor + (col1Width, 0 - (rowHeight * i)), tableAnchor + (col1Width, 0 - (rowHeight * i) - rowHeight), tableAnchor + (0, ((-rowHeight) * i) - rowHeight)}], i, 0, lastRow - 1) → tableCol1
  9. LaTeX((((("\text{" * QUESTION) * "\\") * INSTRUCTIONS) * "}")) → TEXT
  10. Zip(Polygon[A, A + (tileWidth, 0), A + (tileWidth, (-tileHeight)), A + (0, (-tileHeight))], A, shuffledFrameAnchors) → frames
  11. Element(frames, 1) → frame1
  12. Element(frames, 2) → frame2
  13. Element(frames, 3) → frame3
  14. Element(frames, 4) → frame4
  15. Element(frames, 5) → frame5
  16. Element(frames, 6) → frame6
  17. Element(frames, 7) → frame7
  18. Element(frames, 8) → frame8
  19. Element(frames, 9) → frame9
  20. Element(cells, 1) → cell1
  21. Element(frames, activeTile) → highlightedTile
  22. Element(cells, 2) → cell2
  23. Element(cells, 3) → cell3
  24. Element(cells, 4) → cell4
  25. Element(cells, 5) → cell5
  26. Element(cells, 7) → cell7
  27. Element(cells, 8) → cell8
  28. Element(cells, 9) → cell9
  29. Element(cells, activeCell) → highlightedCell
  30. Element(tableCol1, 1) → col1HeaderCell
  31. Element(tableCol2, 1) → col2HeaderCell
  32. Element(tableCol3, 1) → col3HeaderCell
  33. Element(tableCol4, 1) → col4HeaderCell
  34. Element(cells, 6) → cell6
  35. Zip(A ≟ B ∨ A ≟ C ∨ A ≟ D ∨ A ≟ E, A, {4, 4, 4, 4, 8, 8, 8, 8, 12, 12, 12, 12}, itemsInCells, B, {1, 1, 1, 1, 5, 5, 5, 5, 9, 9, 9, 9}, C, {2, 2, 2, 2, 6, 6, 6, 6, 10, 10, 10, 10}, D, {3, 3, 3, 3, 7, 7, 7, 7, 11, 11, 11, 11}, E) → cellsCorrect
  36. Zip(Text[If[A, cmark, ""], Vertex[B, 2] + symbolOffset], A, cellsCorrect, B, cells) → cmarkList
  37. Zip(Text[If[¬A, xmark, ""], Vertex[B, 2] + symbolOffset], A, cellsCorrect, B, cells) → xmarkList
  38. Text("", tableAnchor + (0.5, ((-rowHeight)) / 2)) → col1Header
  39. Text("", tableAnchor + (0, (-rowHeight) - rowHeight / 3), true, true) → rowHeader1
  40. Text("", tableAnchor + (0, ((-rowHeight) * 2) - rowHeight / 3), true, true) → rowHeader2
  41. Text("", tableAnchor + (0, ((-rowHeight) * 3) - rowHeight / 3), true, true) → rowHeader3
  42. Element(cells, 10) → cell10
  43. Element(cells, 11) → cell11
  44. Element(cells, 12) → cell12
  45. Element(frames, 10) → frame10
  46. Element(frames, 11) → frame11
  47. Element(frames, 12) → frame12
  48. Text("Horizontal", tableAnchor + (0.5 + col1Width, ((-rowHeight)) / 2)) → col2Header
  49. Text("Vertical", tableAnchor + (0.5 + col1Width + col2Width, ((-rowHeight)) / 2)) → col3Header
  50. Text("Neither", tableAnchor + (0.5 + col1Width + col2Width + col3Width, ((-rowHeight)) / 2)) → col4Header
  51. LaTeX("\text{You correctly sorted all the lines.}") → feedback