In order to align the two parabolic mirrors accurately, we use algebraic functions to model the two face-to-face parabolas. We start with two constant variables, \(a\) and \(c\), where \(a\) controls the orientation and curvature of the parabolas, and \(c\) controls their vertical alignment or, in our case, the distance between the vertices of the two parabolas. For simplicity, we define \(a=0.15\) through the input box and convert it to a slider with an interval of \([0,2]\). Also, we define \(c=2\)* *through the input box and convert it to a slider with an interval of \([0,5]\). In GeoGebra, any free or independent variable can be converted to a slider for visualization with an initial value and an interval that defines its range of possible values. To convert an independent variable to a slider, we can right-click on the variable and enable "Show Object" or, alternatively, we could toggle the radio button to the left of a variable definition (Figure 5). A slider has other styles such as color, thickness, length, and increment, which can be changed whenever necessary. According to the above definitions, \(a\) can take any value in \([0,2]\); \(c\) any value in \([0,5]\). Both \(a\) and \(c\) could take other reasonable initial values and intervals for clear visualization. We further define* \(p_u(x)=ax^2\)*, which will model the upward parabola, and \(p_d(x)=-ax^2+c\), which will model the downward parabola. By adjusting the values of \(a\) and \(c\), we could manipulate the shape of the mathematical mirascope. This first step to model the mirascope is illustrated in Figure 5.

According to the previous analysis, we start with a point \(P\), which represents an arbitrary point on the object placed at the bottom of the mirascope. We further imagine a light ray that leaves point \(P\), reaches the upper parabola, is reflected to the lower parabola, and is ultimately reflected out of the mirascope through its opening. As a construction heuristic, we note that since the light ray is reflected back and forth in the mirascope, we need to choose from segments, rays, or lines as an appropriate mathematical object to model its path. Because there are cases where a line or a segment long enough may intersect a parabola at two points and thus cause construction confusion, we prefer segments or rays to lines. This is only *technically* necessary when GeoGebra or a similar tool is used, representing the connections and distinctions between physical ideas and mathematical ones. Whenever necessary, we could make a ray out of a segment to find the point of incidence, where the light touches the mirror. To simplify the process, we can hide the segments and other intermediate objects and then focus on the resulting ray. Additional Figures 6a and 6b show how a light ray from point \(P\) is reflected out of the mirascope.

To locate the image of point \(P\) outside the mirascope, we need at least one more light ray that originates from point \(P\) and reaches the upper mirror at a different point, for example, point \(H\). We could then repeat the whole procedure as demonstrated in Additional Figures 6a and 6b; alternatively, we could take advantage of the technological resources in the GeoGebra environment, which allows the encapsulation of a previous procedure in the form of a new tool. A tool is similar to a function that takes some inputs and produces certain outputs. For example, in finding the reflection of the first light ray, point \(P\), point \(G\), and the constants \(a\) and \(c\) are the inputs; the light ray that is reflected out of the mirascope as well as other intermediate objects could be the outputs (Figure 6c).

Therefore, we could define a new tool, for example, *MiraReflection* to simplify the whole procedure (Additional Figure 6d). Once the new tool is defined, it can be used to reflect any light ray from point \(P\) out of the mirascope without repeating the tedious procedures. Using the newly defined tool *MiraReflection*, we could find the reflection of the light ray that leaves point \(P\) and reaches some point \(H\) on the upper parabola (Additional Figure 6e); it meets with the first reflected light ray at point \(J\), which uniquely identifies the image of point \(P\). We now have a complete mathematical model of the mirascope, which subsequently provides more opportunities for open-ended explorations than a physical one (Figure 6f).