©2021 Compass Learning Technologies → GXWeb Showcase → GXWeb Jigsaws → GXWeb Mathematics Explorer
GXWeb Mathematics Explorer
Saltire Software, home of Geometry Expressions and GXWeb
Symbolic computations on this page use the Nerdamer Symbolic JavaScript to complement the in-built computer algebra system of GXWeb.
The beautiful mathematics you see on this page is made possible using MathQuill and MathJax.
Learn How: Create Your Own GXWeb Tasks (like this one!)
Learn How: Add Beautiful Mathematics to your Web Page
Introduction
This general purpose mathematical toolkit offers students a range of mathematical tools for computation and exploration, built upon the symbolic geometry of GXWeb.
a GXWeb graph plotter, supporting three general functions, f, g and h - the f MathBox serves as a general entry for computations, both numeric and algebraic.
a numerical tool kit consisting of a table of values, continued fraction utility, a range of numeric functions, and
a CAS (Computer Algebra System) tool kit - a general CAS utility, a Solver, Derivative, Integral, and other tools.
GXWeb, the free online sibling of the Geometry Expressions software is provided, with its amazing blend of constraint-based dynamic geometry built upon a CAS foundation.
Learn more about using the MathBoxes with step-by-step examples.
MathQuill is a free and open-source software library for live entry of mathematical terms. Like MathJax, MathQuill is built upon Latex to present the mathematics beautifully.
Nerdamer is a small and light-weight symbolic math expression evaluator written in javaScript, and GXWeb is a free constraint-based dynamic geometry environment built upon a computer algebra foundation.
You are encouraged to use these various resources to dig more deeply into the mathematics you encounter, to seek to understand it more fully, and perhaps learn to see in new ways things you might otherwise have overlooked.
Spend some time looking into continued fractions - both simple and general. Perhaps explore musical continued fractions? This and other surprises await in the Fractured Fractions Collection
Make sure that you explore the amazing Apollonian Gaskets, the the Arbelos, the Pappus Chain, the Farey Sequence and Ford Circles - and even a Farey Star! (use the (a)-slider to play!). These feature in the beautiful Kissing Circles Collection
You might be amazed at the beautiful and interesting mathematics in simply folding a piece of paper in half a few times - leading to the amazing Dragon Curve Fractal!
Try the same mathematical tools that you will discover here in the explorations and assessments of the Meaningful Algebra Collection - including algebra tiles and Tak Tiles!
x2+b⋅x+c=0
x⋅(x+b)=−c
x=−cb+x
x=−cb−cb−cb+x
⇑ Tap to explore
Learn more about these amazing mathematical gems at the GXWeb Showcase.
Have some fun, too, with the GXWeb Jigsaw and Quiz Collection
About the MathBoxes...
Hint: When entering mathematical expressions in the math boxes below (f, g and h), use the space key to step out of fractions, powers, etc. On Android, begin entry by pressing Enter.
Type simple mathematical expressions and equations as you would normally enter these: for example, "x^2[space]-4x+3", and "2/3[space]". For more interesting elements, use Latex notation (prefix commands such as "sqrt" and "nthroot3" with a backslash (\)): for example: "\sqrt(2)[space][space]". More?
a= -1 5 1 b= -1 5 1 c= -1 5 1 d -1 0 5 e -1 0 5
Continued Fraction Spreadsheet Explorer
This browser-based spreadsheet uses the handsontable JavaScript library.
WolframAlpha: CAS+
Sometimes, to deal with those stubborn, hard to reach problems, you need something stronger!
The powerful Wolfram Alpha online CAS engine will answer almost anything you care to ask - within reason! From the continued fraction of pi to Solve x^2=x+1 to the population of Australia!
GeoGebra
GeoGebra offers another fast and accurate CAS alternative. You may also like to explore the GeoGebra web app.
Timing: Key Signature:
Share with QR Code
QR Codes are a great way to share data and information with others, even when no Internet connection is available. Most modern devices either come equipped with QR readers in-built, or freely available.
The default link here is the GXWeb Jigsaws and Quizzes, but you can use it as an alternative to sending your assessment data via email, web or share with others in your class. You can even use it to send your own messages!
GXWeb Jigsaws and Quizzes
Share Your Results
Enter your name:
My class:
Email to:
Session report length: 0 characters.
Turtle Robot Controls
Imagine designing, building and even remotely controlling your own robot! It is probably easier than you might think!
Alternatively, grab a TI Innovator Robot already made and follow the directions to "hack the hub"!
Watch the YouTube video of our GX Robot.
Follow the tutorial step-by-step directions to build and program your Arduino or TI Innovator robot.
NOTE: If using iPad or iPhone, you will need to grab the free Bluefy app to access webBluetooth since most browsers on this platform do not have this capability.
Then just connect and use your LOGO commands to steer - or use the controls below to connect and drive!
NOTE: Different surfaces and different robots will require different traction values. Try different values for distance and turn angle here until you find those that work best for your situation.
Distance Traction
Turn Traction
Manual Robot Controls
MathBox Examples: Some to try...
Binary and other bases
Birthday Buddies
Bezier Curves,
Kissing Circles, and
Dragon Curves, Paperfolds and more...
LOGO Turtle Graphics
Graphing
Define and plot ax2+bx+c
Enter ax^2 [space]+bx+c
Complete the Square for ax2+bx+c
Nerdamer: sqcomp
Enter sqcomp(ax^2 [space]+bx+c)
Factor 2x2−6x+4
Nerdamer: Factor
Enter factor(2x^2 [space]-6x+4)
Solve x2=x+1
Nerdamer: solve
Enter x^2 [space]=x+1
Graph expressions in x and y (x−2)2+(y−2)2=4
Enter (x-2)^2 [space]+(y-2)^2[space]=4
Graph parametric expressions in t curve(2t−1,(t−1)2)
Enter curve(2t-1,(t-1)^2)
Calculus
Derivative of y=x2−x−1
Nerdamer: diff
Enter d/dx[space](x^2-x-1)
(Be sure to include parentheses around the expression!)Integral of y=x2−x−1 between 0 and 3
Nerdamer: Integrate or defint
Enter \int_0[space]^3[space][space][space](x^2[space][space][backspace]-x-1)[space][space]dx
(Be sure to include parentheses around the expression!)Tangent of y=x2−x−1 at x=a
Enter tangent(x^2-x-1) or tangent(a, x^2-x-1)
Normal of y=x2−x−1 at x=a
Enter normal(x^2-x-1) or normal(a, x^2-x-1)
Numbers
Nerdamer: nthroot
Enter \nthroot3[space]8[space]
Nerdamer: gcd
Enter gcd(24,32)
Sums
Sum of (14)x from x = 0 to 500
NOTE: This is Archimedes Infinite Sum!
Nerdamer: sum(1/(4^x),x,1,500)
Enter \sum(x=1)[space][space]500[space][space](1/4[space][space]^x)
Playing with Primes
Nerdamer: pfactor
Enter pfactor(288)
Enter isprime(289)
You can also simply use willan
Enter willan(289)
Like to know the 100th prime number? Or even the 1000th?
Enter prime()
You might also use Willan's Formula to see if a number is prime - isPrime(1117)=⌊(cos(π⋅((1116)!+11117))2⌋=1isPrime(1119)=⌊(cos(π⋅((1118)!+11119))2⌋=0
Willan's Formula returns 1 if the argument is prime and 0 if it is composite!
This allows us to find the nth prime. For example, to find the 5th prime, count from the left:
n 0 1 2 3 4 5 6 7 8 9 10 11 n∑i=0willan(i) 0 0 1 1 0 1 0 1 0 0 0 1 sum ⇒ prime - - 1 2 - 3 - 4 - - - 5
Enter isPrime() OR sum(i=0)[space][space](11) [space][space] (willan(i)) (11)∑i=0(willan(i))
Something Different
Convert 110111 base 2
(or other bases) to decimal.
Enter 1100111_2 or b2n(1100111) or bin2num(1100111)
Express 43 in binary form (or other bases).
Enter 43_>2 or n2b(43) or num2bin(43)
For something different, try Birthday Buddies
Enter bbud(23) or bbuds(x)
Bezier Curves are also very cool.
Enter bezier(1,2,x) or bezier2(1,3,2,x)
Then try curve(bezier(1,2,t),bezier2(1,3,2,t))
Make sure that you explore the amazing Apollonian Gaskets, the the Arbelos, the Pappus Chain, the Farey Sequence and Ford Circles - and even a Farey Star! (use the (a)-slider to play!). These feature in the beautiful Kissing Circles Collection
Possibly the coolest mathematical creatures may be Dragon Curves and their associated paperfolds.
Enter dragon() or pfold() or just spf() to explore different aspects of dragon curves, paperfold sequences and even summed paperfolding sequences and series!
LOGO (or Turtle Graphics) is an educational programming language designed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in the 1960s. Here we implement the simple LOGO commands using GXWeb. To enter LOGO mode, just enter "turtle" (or "logo") in the MathBox and follow the prompts.
If using the MathBox to enter a series of commands, separate these with a colon (:) rather than the space you would normally use: turtle(repeat:6:fd(5):lt(60)).
Simple commands such as FD (forward), BK (back), LT (left), RT (right), PU (pen up), PD (pen down) and REPEAT are used to drive a "turtle" around the screen and to trace the path it follows. Variables num and angl may serve to create more interesting patterns.
Some shortcuts have also been defined. For example, to draw a polygon, just enter POLY and enter the values as prompted (or, for a pentagon, for example, enter POLY(5,5,72) - or even PENT(5)!). Other commands include SQUARE, TRI, HEX... and even FLOWER and SPI or THEO (for the Spiral of Theodorus).
You might even explore the wonderful Dragon Curve, arising from simple folding of paper - enter DRAGON (or just dragn) when prompted followed by the number of folds!
You may change view settings (show/hide axes, color, line thickness) by preceding your LOGO command with a question mark. For example, enter logo or turtle in the MathBox, then at the prompt, ?theo.
Try a few commands to create different constructions.
For example, what might you add to FD(5) LT(45) FD(5) LT(135) FD(5) to complete the parallelogram?
(Tap for result)To turn a parallelogram into a star?
Or take a spiral and turn it into something weird?
And then imagine designing, building and even remotely controlling your own robot! It is actually easier than you might think! Alternatively, grab a TI Innovator Robot already made and follow the directions to hack the hub! Then use your LOGO commands to drive your robot.
Continued Fractions
Continued Fraction for √a2+b
Nerdamer: continued_fraction
Enter \sqrt(a^2+b[space]
What is special about this continued fraction?
Solve x=a+ba+x
Nerdamer: solve
Enter x = a + b/a + x
Notice the connection with the continued fraction above?
And try entering 2,<2,4> and even something like 4,<1,3,1,8> - what do you notice? Try more of your own.
Did you know that there are TWO classical forms for continued fractions?
The simple or general form is built by taking the floor (or whole number part) of the fraction at each level and adding the reciprocal of the tail.
107=[1,2,3]=1+12+13Enter 10/7 or 1,2,3
The reversal or negative form takes instead the ceiling or next whole number value above, and subtracts the tail!
[107]−=[2,2,4]−=2−12−14Enter [10/7]^- or [2,2,4]^- or [10/7]{neg} or [2,2,4]{neg}
Try a few examples and see if you can see a pattern...
HINT: It helps if your simple continued fraction form has an EVEN number of terms!
The Linear Fractional Transformation of a Continued Fraction
a⋅x+bc⋅x+dexplores how a continued fraction x is transformed by the operation
x1=a⋅x+bc⋅x+d
Enter lft([1,4,0,7],\sqrt(37)) or lft(\frac{[1,4]}{[0,7]},\sqrt(37)))
Can you find any patterns?
Introduction: What is a Magic Table?
To convert a real number to a continued fraction is easy! Try this yourself?
But what if you want to go in the other direction? If you have a continued fraction, and would like to know the real number that it represents?
For some rational numbers (and approximations of irrationals), this is (relatively) easy, since the continued fraction is finite. For most, though, it can be quite arduous.
The most commonly used method involves starting from the bottom and working upwards. This approach, however, does not reveal the successive approximations, the convergents, which in many cases may be just as useful as the final result.
107=1+37=1+173=1+12+13=[1,2,3]
[1,2,3]=1+12+13=1+173=1+37=107
Alternatively, you might try the Magic Table method!
The magic table 1, 2 (first described by Gosper (1972) - credit for the name goes to Associate Professor Terry Gagen of the University of Sydney) offers an efficient and (relatively) simple way to generate the convergents of a continued fraction - it can even be used, in 1 or 2 dimensions, on linear fractional transformations of continued fractions and, in 3 dimensions, forms the basis for Gosper's algorithm for continued fraction arithmetic.
For example, the continued fraction of
√(37)=>a(n)=[6,12,12,12,12,12,12,...]b(n)=[1,1,1,1,1,1,1...] 6+112+112+112+112+112+112+112...Using the approaches described here is much simpler than, for example, matrix methods to calculate a result such as
√37+47=[1407]⋅√(37)=[1407]⋅[√(37)001]where the linear fractional transformation is the matrix
[1407] and [1001]represents the identity matrix.
... 12 12 12 12 12 6 a(n) ... 1 1 1 1 1 (1) b(n) ... 213442 17665 1462 121 10 1 4 ... 148183 12264 1015 84 7 0 7
Introducing the Magic Table: Dimension 1
Gosper's original (dimension 1) version of the magic table was presented horizontally, reading from right to left. A simplified form (which delivers each convergent in turn) might be represented as shown above.
Note that Gosper dealt only with simple continued fractions for which all b(n) (numerator) terms may be assumed to be 1. We go a step further here, adding a b(n) row to support general continued fractions.
Can you see how the pairs of numbers below the continued fraction terms are calculated? (Notice that the first convergent is calculated directly from the terms of the linear fractional transformation.)
Tap on these pairs to see, or tap on the red continued fraction terms - from right to left - to see Gosper's Magic Table in action!
Introducing the Magic Table: Dimension 2
More importantly, Gosper was not really interested in simply outputting the convergents of continued fractions.
His real goal was to take a continued fraction, operate on it in some way - initially, using a linear fractional transformation, but leading to arithmetic operations with another continued fraction - and output the result directly as a continued fraction: true continued fraction arithmetic!
For this, he needed more dimensions for his magic table!
Teasing Out the Resultant Continued Fraction
It should be noted that drawing out each term of the resultant continued fraction is not always a straightforward operation.
Consider the first TWO convergents of
√37+47=[1407]⋅√(37) =>107 and 12184Taking the floor or integer part of both delivers the same result (|107|=|12184|=1), so we can be confident in the first term of our resultant continued fraction.
To continue, we need the dimension 2 table, since we now move one step down and one step to the left (in the table above, or to the right in the table below). The next two convergents to consider are 8437 and 1015447. If the floor values of both agree (which they do in this case), we continue this process, moving down and horizontally forward.
If NOT, then we simply move one step horizontally forward, and try the next pair of convergents, until we find two that agree, and this process gives each subsequent term of our resultant continued fraction.
For a more interesting example, consider Gosper's case of e with linear fractional transformation, [1,-1,1,1]:
tanh(12)=e−1e+1Here we see that the first convergent pair (13 and 24) both deliver floor values of 0. The second pair (115 and 42) give us the next resultant term of 2.
Subsequently, though, |51|=5 and |71|=7. We must continue to the next terms, 122 and (with a little calculation) 559 (4⋅12+1⋅7=55 and 4⋅2+1⋅1=9) to confirm the floor result of 6.
The floor values of pairs of adjacent convergents must differ by no more than 1 to deliver the next term of the resultant continued fraction.
For ease of presentation, in our versions, the terms are displayed vertically, with the terms of the linear fractional transformation found at the top of the numerator and denominator columns (rotated -90°).
Step by Step
Tap to view:
Simple Convergent Form 1
Simple Convergent Form 2
Gosper Magic Table 1
Gosper Magic Table 2
Gosper Magic Table 3
Gosper Magic Table 4
Gosper Magic Table 5
In its simplest form, Gosper's Magic Table initially offers a convenient way to generate the convergents for a given continued fraction, along with a linear fractional transformation, expressed as a 2x2 matrix.
(Tap for an example) ⇑
General Continued Fractions: Some Examples
Note that the Magic Table presented here represents an extension of Gosper's method, supporting general continued fractions in addition to simple ones. For example, did you know that
π≈0+41+13+45+97+169+2511+3613+4915+6417+8119...a(n)=[0,1,3,5,7,9,11,13,15,17,19]b(n)=[4,1,4,9,16,25,36,49,64,81]
And what about the Farey and Stern-Brocot Continued Fractions: if you wanted to start a list of every rational number, then these amazing continued fractions are perfect for that!
0+13−11−13−11=0+13+1−1+13+1−1 ⇒[0,13,12,23,1]
Farey Sequence Level 3:mtable([[0,3,-1,3,-1],[1,1,1,1,1]],[1,0,0,1])
OR mtable([[0,3,1,3,1],[1,-1,-1,-1,-1]],[1,0,0,1])
0+14−11−13−11−15−11−13−11 ⇒[0,14,13,25,12,35,34,23,1] Farey Sequence Level 4:
mtable([[0,4,-1,3,-1,5,-1,3,-1],[1,1,1,1,1,1,1,1,1]],[1,0,0,1])
OR mtable([[0,4,1,3,1,5,1,3,1],[1,-1,-1,-1,-1,-1,-1,-1,-1]],[1,0,0,1])
0+13−11−13−11−15−11−13−11 ⇒[0,13,12,23,1,32,21,31,10] Stern-Brocot Sequence Level 3:
mtable([[0,3,-1,3,-1,5,-1,3,-1],[1,1,1,1,1,1,1,1,1]],[1,0,0,1])
OR mtable([[0,3,1,3,1,5,1,3],[1,-1,-1,-1,-1,-1,-1,-1]],[1,0,0,1])
Stern-Brocot Sequence Level 4:
0+14−11−13−11−15−11−13−11−17−11−13−11−15−11−13−11 ⇒[0,14,13,25,12,35,34,23,1,32,43,53,21,52,31,41,10]mtable([[0,4,-1,3,-1,5,-1,3,-1,7,-1,3,-1,5,-1,3],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[1,0,0,1],0,17)
OR mtable([[0,4,1,3,1,5,1,3,1,7,1,3,1,5,1,3],[1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],[1,0,0,1],0,17)
Try More Examples
Simple (Convergent)
Magic Table
Dimension 1Gosper
Magic Table
Dimension 2Enter mtable(), or
mtable(sqrt(37)), or
mtable(sqrt(37),[1,4,0,7]), or even
mtable(sqrt(37),[1,4,0,7],0,12)Try one of Gosper's examples:
mtable(sqrt(2),[0,2,-1,3],0,12)You can also enter arrays: mtable([1,2,3,4,5],[1,0,0,1],0,12) or
mtable([[1,2,3,4],[4,3,2,1],[1,0,0,1],0,12)Try mtable([[2,1,2,3,4,5,6,7,8,9,10],[1,1,2,3,4,5,6,7,8,9,10]],[1,0,0,1],0,12)
Enter gmt(), or
gmt(sqrt(37)), or
gmt(sqrt(37),[1,4,0,7]), or even
gmt(sqrt(37),[1,4,0,7],0,12)Try one of Gosper's examples:
gmt(sqrt(2),[0,2,-1,3],0,12)You can also enter arrays: gmt([1,2,3,4,5],[1,0,0,1],0,12) or
gmt([[1,2,3,4],[4,3,2,1],[1,0,0,1],0,12)Try gmt([[2,1,2,3,4,5,6,7,8,9,10],[1,1,2,3,4,5,6,7,8,9,10]],[1,0,0,1],0,12)
mtable([[0,1,3,5,7,9,11,13,15,17,19],[4,1,4,9,16,25,36,49,64,81,100]],[1,0,0,1],0,12).
Perhaps even compare
mtable([[4,2,2,2,2,2,2,17,294],[-1,-1,-1,-1,-1,-1,-1,-1,-1]],[1,0,0,1]) with
mtable([[4,-2,2,-2,2,-2,2,-17,294],[1,1,1,1,1,1,1,1,1]],[1,0,0,1])?
Have you ever considered the idea of Continued Fraction Arithmetic?
Bill Gosper did in 1972: 'Contrary to everybody, this self contained paper will show that continued fractions are not only perfectly amenable to arithmetic, they are amenable to perfect arithmetic.' (Bill Gosper, 1972)
Consider applying
3⋅x+42⋅x−1[+]y+32⋅y−1 or 3⋅x+42⋅x−1[⋅]y+32⋅y−1to continued fraction forms of x and y, such as x=√(2) and y=√(3) - or perhaps start with something simpler, such as x[∗]y with x=107 and y=225!
Note that [+], [-], [*] and [/] are custom operations defined for continued fraction arithmetic using either Gosper's original process, or a conjectured matrix process.
Simpler still might be a third approach, computing arithmetic operations on the corresponding convergents of two continued fractions, and so arrive at increasingly accurate results through successive approximation.
Enter [x[*]y],[10/7],[22/5]
sqrt(2)[*]sqrt(3)
x[*]y
[(3x+4)/(2x-1)][*][(y+3)/(2y-1)]
Bill Gosper's historic unpublished 1972 paper not only laid the foundation for realistic continued fraction arithmetic but, in the last few pages, introduced a new "mutation on continued fractions" - (binary) continued logarithms!
In the newly dawning age of personal computers, Gosper recognised both the limitations of continued fractions in dealing with very large and very small numbers, and the possibilities for a new type of binary representation, reducing such numbers to highly accurate arrays of zeros and ones. Gosper described it as a "sort of recursive version of scientific notation" (1972).
While we might generally count ourselves lucky to know of one or two generalized continued fraction forms for most reals, this approach reveals the relatively simple processes which deliver up to five distinct forms for most numbers - in any base of your choosing!
Continued Logarithms (base b) (Gosper, 1972) are defined by
g(x)={xbx≥bb−1x−11<x<bterminatex=1
19=[4,2,1,1]cl(2) ⇒24+2422+2221+2121
215=[1,1,1]cl(3) ⇒31+2⋅3131+2⋅3131
Enter cl() (⇒ cl(input, base, steps, show))
cl(107)
cl(107,2)
cl(π,2,10)
Some Matrix Fraction Magic
Start with something simple: Number ⇒ matrix - n2mat()
Enter n2mat(10/7)
Work with matrices [[1,4][0,7]]⋅√37
Nerdamer: matrix
Enter [[1,4]/[0,7][space][space]*\sqrt(37)[space]
Explore some matrix magic in the tridiagonal matrix (tdm()) form of continued fractions!
Some expected relationships...
And even some unexpected ones!
Tap on the matrix examples above and follow the directions. Press h for the final result.
See a live demo?
Explore continued fractions further?
Fraction Trees
Farey/Stern-Brocot and Calkin-Wilf Fraction Trees
Find the Stern-Brocot Tree and Calkin-Wilf paths for any number
Enter path(10/7)
OR Find the rational number for a given Stern-Brocot Tree or Calkin-Wilf path for any number
Enter LLRRR
About the Farey/Stern-Brocot Continued Fraction
Enter dragon(4)
Farey/Stern-Brocot Continued Fraction
Enter sbcf(4)
You could also enter some like the following directly into the MathBox to find the convergents for the Farey/Stern-Brocot Continued Fraction
0,3,-1,3,-1 (Farey Sequence of Order 3)
0,3,-1,3,-1,5,-1,3 (Stern-Brocot Sequence of Order 3)
0,4,-1,3,-1,5,-1,3,-1 (Farey Sequence of Order 4)
0,4,-1,3,-1,5,-1,3,-1,7,-1,3,-1,5,-1,3 (Stern-Brocot Sequence of Order 4)
0,5,-1,3,-1,5,-1,3,-1,7,-1,3,-1,5,-1,3,-1 (Farey Sequence of Order 5)
0,5,-1,3,-1,5,-1,3,-1,7,-1,3,-1,5,-1,3,-1,9,-1,3,-1,5,-1,3,-1,7,-1,3,-1,5,-1,3 (Stern-Brocot Sequence of Order 5)
Can you see the pattern? Can you explain why there is a trailing -1 for the Farey Sequence but not the Stern-Brocot?
Farey/Stern-Brocot Continued Fraction Quiz
Enter sbquiz(0)
Quizzes
Test Yourself: Continued Fraction Quiz: From Number to Continued Fraction: cfQuiz1()
Test Yourself: Continued Fraction Quiz 2: From Continued Fraction to Number: cfQuiz2()
Test Yourself: Fraction Tree Quiz: From Tree Number to Fraction: ftreeQuiz1()
Test Yourself: Fraction Tree Quiz: From Fraction to Tree Number: ftreeQuiz2()
Behind the Scenes
©2021 Compass Learning Technologies ← GXWeb Showcase ← GXWeb Jigsaws ← GXWeb Mathematical Explorer