Find Multiplication Rule for Points on a Line
Loading the math board and drawing, please wait…
This example demonstrates how to find the multiplication rule for points on a line. Key mathematical concepts include linear functions in coordinate geometry. GeoGebra commands used include Line, Sequence, KeepIf, etc. Suitable for 6-8 grade students.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.9741629072957583, 0.6902072668277874, 0.23054968573266038, 0.5102020742823086, 0.883139632801929, 0.1402842818648548, 0.8714365397368462, 0.5901526459051111, 0.29552178424947023, 0.5922931567833662, 0.8009021080123994, 0.7431908311243693, 0.3583733292382644, 0.9356976934232953, 0.4722340030961881, 0.8437985677346206, 0.049863519871137435, 0.34695596410497714, 0.7263337102636614, 0.938068388955514, 0.8301262757105818, 0.4428470708471403, 0.33579429941540284, 0.5437054639364494, 0.30449271275687095, 0.6987558414106785, 0.2915146766029237, 0.29050599124465876, 0.11645306504633175, 0.08472738189549063, 0.8963501171904368, 0.7116973174769031, 0.32753686574512036, 0.559672242723223, 0.8299753886224224, 0.3876876796183339, 0.46832308605891204, 0.8063585252934755, 0.16100321598496986, 0.7146225009463681, 0.039000089930957126, 0.09677074057694775, 0.5164525505893791, 0.5906814764005721, 0.3692919368242896, 0.47904608257658554, 0.12490217176687635, 0.3832753792825888, 0.9661519130059681, 0.5635169251862716, 0.21809208868412078, 0.9702136069130546, 0.3433948659786244, 0.21639463137853354, 0.03635130199978949, 0.22751310597675126, 0.38039990746720354, 0.2753227921560401, 0.026032341588531, 0.6258061099291707, 0.23716063487706524, 0.8114089842304535, 0.32212399460223096, 0.0762793939585577, 0.2602945186272195, 0.23741222382611168, 0.006390856894206577, 0.2557391472534008, 0.3391444626806203, 0.45151998931214876, 0.6407538898570474, 0.6787456445902936, 0.5028145203017438, 0.5105907715764072, 0.14717846553932745, 0.2727988845209838, 0.13787814479220822, 0.16587019083852778, 0.5290775008112806, 0.1802807217690613, 0.502581544491679, 0.3280062925522929, 0.6651637053331475, 0.8582717304879727, 0.6466360583413142, 0.9366957126071715, 0.4648015958559423, 0.4044599242169019, 0.7961522235770914, 0.37348603906848155, 0.12421145017898111, 0.6941460503171069, 0.6309154475574255, 0.4141400090656864, 0.4253687003675006, 0.49982462735984995, 0.6760360889208348, 0.9295361566892661, 0.9441188234306701, 0.2709821180013788, 0.09202928229540558, 0.39133572203151323, 0.20089438777606472, 0.30760294872162275, 0.7965880520663752, 0.7405897572010282, 0.44647209709583546, 0.0764115045675473, 0.8477102522027036, 0.8040903390553734, 0.026449591548804153, 0.4141028270961646, 0.24142357554708851, 0.6945891610471686, 0.2815478102184669, 0.056726482799606424, 0.2381243889455761, 0.817011574389803, 0.346461438803868, 0.9489882161002667, 0.53950524885048, 0.8334885565782305, 0.00778165325658615, 0.06152072626128351, 0.9631925028044034, 0.08540876601601548, 0.7615060804538081, 0.4481494356949645, 0.6545488691785178, 0.24076281083277923, 0.2428286689587528, 0.23884197924654652, 0.9046182284743457, 0.4598056564849364, 0.4352669817134002, 0.30737846341375635, 0.8798978679408045, 0.6915085243042377, 0.462737866614585, 0.5958179533089735, 0.2935208295010449, 0.7274010059232171, 0.5069318454517979, 0.800560393288217, 0.15851420475000222, 0.3482230865374709, 0.5332650140892339, 0.17721583933204435, 0.47207128327285247, 0.0023127663877402283, 0.3918021116687749, 0.623591704063627, 0.30523420842856896, 0.6628478323863889, 0.4548470216882004, 0.5218970817231724, 0.42503012792265266, 0.8739416537052126, 0.8903879326602254, 0.29273638029332144, 0.16593812851473178, 0.3931611221610349, 0.9702609815353266, 0.48462776681316183, 0.4745855266760899, 0.7002902959209224, 0.5437624712637046, 0.07363091883634534, 0.6157812055539448, 0.3891074971279551, 0.011491918228858899, 0.44820580735119836, 0.009389846597399254, 0.27057363959568664, 0.6304486209031969, 0.19464902093664863, 0.9561354293478742, 0.48214840166894807, 0.009832115304394845, 0.5383659316477135, 0.1261933621672192, 0.8989567266903894, 0.7876119579435221, 0.4558369802801838, 0.18738978607108167, 0.7482209849896537, 0.7507357413462451, 0.4714231798103679, 0.5299733585153615, 0.8587558256962066, 0.15683297344104408, 0.5521306778492635, 0.05225792001698014, 0.852390377794113, 0.22245225249023062, 0.0021162032924146056, 0.08595729637544083, 0.3339385650572041, 0.39223231366426553, 0.6970651570901637}Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsSequence((n, questionLine(n)), n, -11, 11) → PointsLinePolygon({DataMin, (x(DataMax), y(DataMin)), DataMax, (x(DataMin), y(DataMax))}) → viewboxPolygon({(-8, -11), (8, -11), (8, 11), (-8, 11)}) → pointBoxKeepIf(IsInRegion[n, pointBox], n, PointsLine) → PointsLineFilteredSequence(1, Length[PointsLineFiltered], If[Length[PointsLineFiltered] ≤ 8, 1, 2]) → possibleIndicesElement(Remove[possibleIndices, {indexA}], 1 + floor((currentRandomSeeds(5) * (Length[possibleIndices] - 1)))) → indexBElement(Remove[possibleIndices, {indexA, indexB}], 1 + floor((currentRandomSeeds(6) * (Length[possibleIndices] - 2)))) → indexCElement(Remove[possibleIndices, {indexA, indexB, indexC}], 1 + floor((currentRandomSeeds(7) * (Length[possibleIndices] - 3)))) → indexDSequence(PointsLineFiltered(sequenceUse(n)), n, 1, 4) → PointsUseKeepIf(n ≥ 0, n, xPoints) → xPointsPositiveKeepIf(n < 0, n, xPoints) → xPointsNegativeSort(x(PointsUse)) → xPointsProblemZip((A, (input1 * A)), A, xPointsProblem) → hintPointsAllLine(hintPointsAll(1), hintPointsAll(2)) → hintLineZip(If[A < 0, (("(" * A) * ")"), ("" * A)], A, xPointsProblem) → displayXPointsRemoveUndefined({tempA}) → inputCurrentTextfield(input1) → InputBox1Segment((-11.5, 0), (11.5, 0)) → axisXSegment((0, -11.5), (0, 11.5)) → axisYZip(Text[(("\bgcolor{WHITE}{" * A) * "}"), A + ((-5 * windowWidth / PXwindowWidth), (15 * windowHeight / PXwindowHeight)), true, true, 1, 0], A, PointsUse) → lblPointsSort({Intersect[hintLine, viewbox]}) → hintEndsPolygon({DataMin, (x(DataMax), y(DataMin)), (x(DataMax), y(hintEnds(1) + vHint)), (x(DataMin), y(hintEnds(1) + vHint))}) → hintBoxAPolygon({DataMax, (x(DataMin), y(DataMax)), (x(DataMin), y(hintEnds(1) + vHint)), (x(DataMax), y(hintEnds(1) + vHint))}) → hintBoxBPolygon({DataMin, DataMin + vHint, (x(DataMin), y(DataMax)) + vHint, (x(DataMin), y(DataMax))}) → hintBoxCIf(Slope[hintLine] < 0, hintBoxB, If[Slope[hintLine] ≟ 0, hintBoxC, hintBoxA]) → hintBoxKeepIf(IsInRegion[A, hintBox], A, hintPointsAll) → hintPointsDisplaySegment(hintEnds(1), hintEnds(1) + vHint) → segmentHintIntersectPath(Line[PointsLine(1), PointsLine(2)], viewbox) → solnLineSegment(hintEnds(1), hintEnds(1) + vHint) → segmentCorrectIf(showsolution, If[correct, {89 / 255, 145 / 255, 255 / 255}, {176 / 255, 0, 32 / 255}], {224 / 255, 116 / 255, 21 / 255}) → lineRGBIf(showsolution, If[correct, {58 / 255, 110 / 255, 214 / 255}, {176 / 255, 0, 32 / 255}], {199 / 255, 80 / 255, 0}) → pointRGB
AI Drawing Prompt Reference
Draw a coordinate system with X and Y axes. Draw a diagonal line as a hint line. Mark some points (xPointsProblem) near the line. Include an input box for entering numbers and a solution line. The coordinate system is bounded by a rectangle, and points are shown within it. Labels display point coordinates. The hint line intersects the boundary to form a hint box. The solution line is parallel or coincident with the hint line. The overall figure demonstrates the multiplication rule. The points are randomly generated and filtered to ensure they are within the coordinate system. The hint line helps users visualize the relationship between points and the line. The solution line indicates the correct multiplication result.
The prompt above was compiled from the original drawing commands and is for reference only.