水平与垂直直线排序
几何画板及绘图内容加载中,请稍等……
①本范例演示如何对水平与垂直直线进行分类和排序;②涉及核心数学概念包括直线方程、解析几何、坐标系;③构造要点:使用 GeoGebra 命令 Sequence, Flatten, Shuffle, LaTeX, Zip, Element, Text 等创建和排列直线,并通过 tableCol1, tableCol2 等对象进行表格化展示;④适合高中数学教学,用于帮助学生理解直线分类和坐标系应用。
GeoGebra 命令及参数
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) → tableCol4Sequence(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) → tableCol3Sequence(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) → tableCol2Flatten(Sequence[Sequence[(i, j), i, -8, -8 + (3 * (tileWidth + 1)), tileWidth + 1], j, -2.5, -2.5 - (2 * (tileHeight + 1)), (-tileHeight) - 1]) → fixedFrameAnchorsShuffle(fixedFrameAnchors) → shuffledFrameAnchorsLaTeX(UnicodeToLetter[10003]) → cmarkLaTeX(UnicodeToLetter[10007]) → xmarkSequence(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) → tableCol1LaTeX((((("\text{" * QUESTION) * "\\") * INSTRUCTIONS) * "}")) → TEXTZip(Polygon[A, A + (tileWidth, 0), A + (tileWidth, (-tileHeight)), A + (0, (-tileHeight))], A, shuffledFrameAnchors) → framesElement(frames, 1) → frame1Element(frames, 2) → frame2Element(frames, 3) → frame3Element(frames, 4) → frame4Element(frames, 5) → frame5Element(frames, 6) → frame6Element(frames, 7) → frame7Element(frames, 8) → frame8Element(frames, 9) → frame9Element(cells, 1) → cell1Element(frames, activeTile) → highlightedTileElement(cells, 2) → cell2Element(cells, 3) → cell3Element(cells, 4) → cell4Element(cells, 5) → cell5Element(cells, 7) → cell7Element(cells, 8) → cell8Element(cells, 9) → cell9Element(cells, activeCell) → highlightedCellElement(tableCol1, 1) → col1HeaderCellElement(tableCol2, 1) → col2HeaderCellElement(tableCol3, 1) → col3HeaderCellElement(tableCol4, 1) → col4HeaderCellElement(cells, 6) → cell6Zip(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) → cellsCorrectZip(Text[If[A, cmark, ""], Vertex[B, 2] + symbolOffset], A, cellsCorrect, B, cells) → cmarkListZip(Text[If[¬A, xmark, ""], Vertex[B, 2] + symbolOffset], A, cellsCorrect, B, cells) → xmarkListText("", tableAnchor + (0.5, ((-rowHeight)) / 2)) → col1HeaderText("", tableAnchor + (0, (-rowHeight) - rowHeight / 3), true, true) → rowHeader1Text("", tableAnchor + (0, ((-rowHeight) * 2) - rowHeight / 3), true, true) → rowHeader2Text("", tableAnchor + (0, ((-rowHeight) * 3) - rowHeight / 3), true, true) → rowHeader3Element(cells, 10) → cell10Element(cells, 11) → cell11Element(cells, 12) → cell12Element(frames, 10) → frame10Element(frames, 11) → frame11Element(frames, 12) → frame12Text("Horizontal", tableAnchor + (0.5 + col1Width, ((-rowHeight)) / 2)) → col2HeaderText("Vertical", tableAnchor + (0.5 + col1Width + col2Width, ((-rowHeight)) / 2)) → col3HeaderText("Neither", tableAnchor + (0.5 + col1Width + col2Width + col3Width, ((-rowHeight)) / 2)) → col4HeaderLaTeX("\text{You correctly sorted all the lines.}") → feedback