Pascal's Triangle Hockey Stick Pattern Demo
Loading the math board and drawing, please wait…
This example demonstrates the Hockey Stick Pattern in Pascal's Triangle, involving sequences, combinatorics, vectors, and geometric constructions. It uses GeoGebra commands like UnicodeToLetter, Polygon, Vector, nCr, Midpoint, Text, Sequence, Random, Join, RemoveUndefined, and If. Ideal for high school mathematics education to understand combinatorial mathematics and geometric patterns.
GeoGebra Commands & Parameters
UnicodeToLetter(10007) → xmarkUnicodeToLetter(10003) → cmarkPolygon(BLviewbox, (x(BLviewbox), y(TRviewbox)), TRviewbox, (x(TRviewbox), y(BLviewbox))) → viewbox, vb1, vb4, vb2, vb3Polygon(A, B, 6) → hexagon1, Aside_2, F, Aside_1, Aside_3, Aside_4, Aside_5, Aside_6, C, D, EVector(A, E) → vVector(F, B) → uPolygon(A + (B2 * u) + (C2 * v), B + (B2 * u) + (C2 * v), 6) → A2Polygon(A + (B3 * u) + (C3 * v), B + (B3 * u) + (C3 * v), 6) → A3Polygon(A + (B4 * u) + (C4 * v), B + (B4 * u) + (C4 * v), 6) → A4Polygon(A + (B5 * u) + (C5 * v), B + (B5 * u) + (C5 * v), 6) → A5Polygon(A + (B6 * u) + (C6 * v), B + (B6 * u) + (C6 * v), 6) → A6Polygon(A + (B7 * u) + (C7 * v), B + (B7 * u) + (C7 * v), 6) → A7Polygon(A + (B8 * u) + (C8 * v), B + (B8 * u) + (C8 * v), 6) → A8Polygon(A + (B9 * u) + (C9 * v), B + (B9 * u) + (C9 * v), 6) → A9Polygon(A + (B10 * u) + (C10 * v), B + (B10 * u) + (C10 * v), 6) → A10Polygon(A + (B11 * u) + (C11 * v), B + (B11 * u) + (C11 * v), 6) → A11Polygon(A + (B12 * u) + (C12 * v), B + (B12 * u) + (C12 * v), 6) → A12Polygon(A + (B13 * u) + (C13 * v), B + (B13 * u) + (C13 * v), 6) → A13Polygon(A + (B14 * u) + (C14 * v), B + (B14 * u) + (C14 * v), 6) → A14Polygon(A + (B15 * u) + (C15 * v), B + (B15 * u) + (C15 * v), 6) → A15Polygon(A + (B16 * u) + (C16 * v), B + (B16 * u) + (C16 * v), 6) → A16Polygon(A + (B17 * u) + (C17 * v), B + (B17 * u) + (C17 * v), 6) → A17Polygon(A + (B18 * u) + (C18 * v), B + (B18 * u) + (C18 * v), 6) → A18Polygon(A + (B19 * u) + (C19 * v), B + (B19 * u) + (C19 * v), 6) → A19Polygon(A + (B20 * u) + (C20 * v), B + (B20 * u) + (C20 * v), 6) → A20Polygon(A + (B21 * u) + (C21 * v), B + (B21 * u) + (C21 * v), 6) → A21Polygon(A + (B22 * u) + (C22 * v), B + (B22 * u) + (C22 * v), 6) → A22Polygon(A + (B23 * u) + (C23 * v), B + (B23 * u) + (C23 * v), 6) → A23Polygon(A + (B24 * u) + (C24 * v), B + (B24 * u) + (C24 * v), 6) → A24Polygon(A + (B25 * u) + (C25 * v), B + (B25 * u) + (C25 * v), 6) → A25Polygon(A + (B26 * u) + (C26 * v), B + (B26 * u) + (C26 * v), 6) → A26Polygon(A + (B27 * u) + (C27 * v), B + (B27 * u) + (C27 * v), 6) → A27Polygon(A + (B28 * u) + (C28 * v), B + (B28 * u) + (C28 * v), 6) → A28Polygon(A + (B29 * u) + (C29 * v), B + (B29 * u) + (C29 * v), 6) → A29Polygon(A + (B30 * u) + (C30 * v), B + (B30 * u) + (C30 * v), 6) → A30Polygon(A + (B31 * u) + (C31 * v), B + (B31 * u) + (C31 * v), 6) → A31Polygon(A + (B32 * u) + (C32 * v), B + (B32 * u) + (C32 * v), 6) → A32Polygon(A + (B33 * u) + (C33 * v), B + (B33 * u) + (C33 * v), 6) → A33Polygon(A + (B34 * u) + (C34 * v), B + (B34 * u) + (C34 * v), 6) → A34Polygon(A + (B35 * u) + (C35 * v), B + (B35 * u) + (C35 * v), 6) → A35Polygon(A + (B36 * u) + (C36 * v), B + (B36 * u) + (C36 * v), 6) → A36nCr(B2 - 1, C2 - 1) → F2nCr(B3 - 1, C3 - 1) → F3nCr(B4 - 1, C4 - 1) → F4nCr(B5 - 1, C5 - 1) → F5nCr(B6 - 1, C6 - 1) → F6nCr(B7 - 1, C7 - 1) → F7nCr(B8 - 1, C8 - 1) → F8nCr(B9 - 1, C9 - 1) → F9nCr(B10 - 1, C10 - 1) → F10nCr(B11 - 1, C11 - 1) → F11nCr(B12 - 1, C12 - 1) → F12nCr(B13 - 1, C13 - 1) → F13nCr(B14 - 1, C14 - 1) → F14nCr(B15 - 1, C15 - 1) → F15nCr(B16 - 1, C16 - 1) → F16nCr(B17 - 1, C17 - 1) → F17nCr(B18 - 1, C18 - 1) → F18nCr(B19 - 1, C19 - 1) → F19nCr(B20 - 1, C20 - 1) → F20nCr(B21 - 1, C21 - 1) → F21nCr(B22 - 1, C22 - 1) → F22nCr(B23 - 1, C23 - 1) → F23nCr(B24 - 1, C24 - 1) → F24nCr(B25 - 1, C25 - 1) → F25nCr(B26 - 1, C26 - 1) → F26nCr(B27 - 1, C27 - 1) → F27nCr(B28 - 1, C28 - 1) → F28nCr(B29 - 1, C29 - 1) → F29nCr(B30 - 1, C30 - 1) → F30nCr(B31 - 1, C31 - 1) → F31nCr(B32 - 1, C32 - 1) → F32nCr(B33 - 1, C33 - 1) → F33nCr(B34 - 1, C34 - 1) → F34nCr(B35 - 1, C35 - 1) → F35nCr(B36 - 1, C36 - 1) → F36nCr(B37 - 1, C37 - 1) → F37Midpoint(F, C) → CenterText(F2, Center + (B2 * u) + (C2 * v) - (0.1 + (Length[Text[F2]] * 0.1), 0.2)) → H2Text(F3, Center + (B3 * u) + (C3 * v) - (0.1 + (Length[Text[F3]] * 0.1), 0.2)) → H3Text(F4, Center + (B4 * u) + (C4 * v) - (0.1 + (Length[Text[F4]] * 0.1), 0.2)) → H4Text(F5, Center + (B5 * u) + (C5 * v) - (0.1 + (Length[Text[F5]] * 0.1), 0.2)) → H5Text(F6, Center + (B6 * u) + (C6 * v) - (0.1 + (Length[Text[F6]] * 0.1), 0.2)) → H6Text(F7, Center + (B7 * u) + (C7 * v) - (0.1 + (Length[Text[F7]] * 0.1), 0.2)) → H7Text(F8, Center + (B8 * u) + (C8 * v) - (0.1 + (Length[Text[F8]] * 0.1), 0.2)) → H8Text(F9, Center + (B9 * u) + (C9 * v) - (0.1 + (Length[Text[F9]] * 0.1), 0.2)) → H9Text(F10, Center + (B10 * u) + (C10 * v) - (0.1 + (Length[Text[F10]] * 0.1), 0.2)) → H10Text(F11, Center + (B11 * u) + (C11 * v) - (0.1 + (Length[Text[F11]] * 0.1), 0.2)) → H11Text(F12, Center + (B12 * u) + (C12 * v) - (0.1 + (Length[Text[F12]] * 0.1), 0.2)) → H12Text(F13, Center + (B13 * u) + (C13 * v) - (0.1 + (Length[Text[F13]] * 0.1), 0.2)) → H13Text(F14, Center + (B14 * u) + (C14 * v) - (0.1 + (Length[Text[F14]] * 0.1), 0.2)) → H14Text(F15, Center + (B15 * u) + (C15 * v) - (0.1 + (Length[Text[F15]] * 0.1), 0.2)) → H15Text(F16, Center + (B16 * u) + (C16 * v) - (0.1 + (Length[Text[F16]] * 0.1), 0.2)) → H16Text(F18, Center + (B18 * u) + (C18 * v) - (0.1 + (Length[Text[F18]] * 0.1), 0.2)) → H18Text(F19, Center + (B19 * u) + (C19 * v) - (0.1 + (Length[Text[F19]] * 0.1), 0.2)) → H19Text(F20, Center + (B20 * u) + (C20 * v) - (0.1 + (Length[Text[F20]] * 0.1), 0.2)) → H20Text(F21, Center + (B21 * u) + (C21 * v) - (0.1 + (Length[Text[F21]] * 0.1), 0.2)) → H21Text(F22, Center + (B22 * u) + (C22 * v) - (0.1 + (Length[Text[F22]] * 0.1), 0.2)) → H22Text(F23, Center + (B23 * u) + (C23 * v) - (0.1 + (Length[Text[F23]] * 0.1), 0.2)) → H23Text(F24, Center + (B24 * u) + (C24 * v) - (0.1 + (Length[Text[F24]] * 0.1), 0.2)) → H24Text(F25, Center + (B25 * u) + (C25 * v) - (0.1 + (Length[Text[F25]] * 0.1), 0.2)) → H25Text(F26, Center + (B26 * u) + (C26 * v) - (0.1 + (Length[Text[F26]] * 0.1), 0.2)) → H26Text(F27, Center + (B27 * u) + (C27 * v) - (0.1 + (Length[Text[F27]] * 0.1), 0.2)) → H27Text(F28, Center + (B28 * u) + (C28 * v) - (0.1 + (Length[Text[F28]] * 0.1), 0.2)) → H28Text(F29, Center + (B29 * u) + (C29 * v) - (0.1 + (Length[Text[F29]] * 0.1), 0.2)) → H29Text(F30, Center + (B30 * u) + (C30 * v) - (0.1 + (Length[Text[F30]] * 0.1), 0.2)) → H30Text(F31, Center + (B31 * u) + (C31 * v) - (0.1 + (Length[Text[F31]] * 0.1), 0.2)) → H31Text(F32, Center + (B32 * u) + (C32 * v) - (0.1 + (Length[Text[F32]] * 0.1), 0.2)) → H32Text(F33, Center + (B33 * u) + (C33 * v) - (0.1 + (Length[Text[F33]] * 0.1), 0.2)) → H33Text(F34, Center + (B34 * u) + (C34 * v) - (0.1 + (Length[Text[F34]] * 0.1), 0.2)) → H34Text(F35, Center + (B35 * u) + (C35 * v) - (0.1 + (Length[Text[F35]] * 0.1), 0.2)) → H35Text(F36, Center + (B36 * u) + (C36 * v) - (0.1 + (Length[Text[F36]] * 0.1), 0.2)) → H36Text(F37, Center + (B37 * u) + (C37 * v) - (0.1 + (Length[Text[F37]] * 0.1), 0.2)) → H37Sequence(Sequence[Polygon[A + (k * u) + (j * v), B + (k * u) + (j * v), 6], j, 1, k], k, 1, 8) → pascalOutlineSequence(RemoveUndefined[Sequence[If[Element[cols, j - 1] ≟ i, j], j, 2, 37]], i, 1, 8) → AllColsSequence(RemoveUndefined[Sequence[If[Element[rows, j - 1] ≟ i, ("A" * j)], j, 2, 37]], i, 1, 8) → AllRowsRandom(1, 5) → QuestionStickColRandom(3, 8 - QuestionStickCol) → QuestionStickSizeSequence((("SetValue(D" * i) * ",false)"), i, 2, 37) → cmdTurnOffAllSequence((("RunClickScript(A" * Element[Element[AllCols, QuestionStickCol], i]) * ")"), i, 1, QuestionStickSize) → cmdLevel1SetupSequence((("SetValue(E" * Element[Element[AllCols, QuestionStickCol], i]) * ",true)"), i, 1, QuestionStickSize) → cmdLevel1LockJoin({Take[Element[AllCols, QuestionStickCol], 1, QuestionStickSize], {Element[Element[AllCols, QuestionStickCol + 1], QuestionStickSize]}}) → answerCellsSequence((("RunClickScript(A" * Element[Element[AllCols, QuestionStickCol + 1], QuestionStickSize]) * ")"), i, 1, 1) → cmdLevel2SetupSequence((("SetValue(E" * Element[Element[AllCols, QuestionStickCol + 1], QuestionStickSize]) * ",true)"), i, 1, 1) → cmdLevel2LockPolygon(A + ((QuestionStickSize + QuestionStickCol) * u) + ((QuestionStickCol + 1) * v), B + ((QuestionStickSize + QuestionStickCol) * u) + ((QuestionStickCol + 1) * v), 6) → answerBladeSequence(Polygon[A + (k * u) + (QuestionStickCol * v), B + (k * u) + (QuestionStickCol * v), 6], k, QuestionStickCol, QuestionStickSize + QuestionStickCol - 1) → answerStickJoin({answerStick, {answerBlade}}) → answerDisplayRemoveUndefined(Sequence[If[Element[selectableObjects, i], i + 1], i, 1, 36]) → cellsClickedRemoveUndefined(Sequence[If[Element[selectableObjects, i], Element[F2:F37, i]], i, 1, 36]) → cellClickedValuesPolygon(A + (B37 * u) + (C37 * v), B + (B37 * u) + (C37 * v), 6) → A37Text(F17, Center + (B17 * u) + (C17 * v) - (0.1 + (Length[Text[F17]] * 0.1), 0.2)) → H17LaTeX(If[(¬correctSum) ∧ (¬noCellsClicked), (("The cells you chose do not add to the sum of " * sumAnswer / 2) * ".\\"), ""]) → fbWrongSumLaTeX(If[noCellsClicked, "You did not select any cells.\\", ""]) → fbNoSelectionLaTeX(If[correctNumberCells ∨ noCellsClicked, "", "You have not selected the correct number of cells.\\"]) → fbWrongNumCellsLaTeX(("\text{" * If[level ≟ 1, "Click on Level 2 or 3 for a more difficult challenge.", (If[level ≟ 2, "Click on Level 1 for an easier challenge, or Level 3 for a more difficult challenge.", "Click on Level 1 or 2 for an easier challenge."] * "}")])) → instrucLevelLaTeX((If[level ≟ 1, (instruc1 * "\\"), (instruc2 * "\\")] * instrucLevel)) → SpecInstrucLaTeX(If[isCorrect, "also ", ""]) → alsoWordLaTeX(If[¬correctCells, "Do you notice a pattern made by the cells shown\\in this solution?", "Do you notice a pattern made by the cells in your\\solution?"]) → fbWrongCellsIf(isHockeyStick, "", If[isCorrect, "Consider also this solution:\\", "Consider the solution shown:\\"]) → fbConsiderJoin({answerStick, {answerBlade}}) → answerOutlineLaTeX(((("\text{" * fbConsider) * fbWrongCells) * "}")) → fbComplete
AI Drawing Prompt Reference
Draw the hockey stick pattern in Pascal's Triangle. Start by drawing a view box, then a hexagon. From two vertices of the hexagon, draw two vectors. Using these vectors, draw a series of new hexagons from each vertex of the original hexagon, with each new hexagon's side length being twice that of the previous one. Finally, calculate and label the binomial coefficients of each hexagon.
The prompt above was compiled from the original drawing commands and is for reference only.