**Transformer3D** was designed to complement **Transformer2D** by forcing students to grapple with transformations from **R**^{3} to **R**^{3}, but doing so required us to adjust the way the student controls the development of the column vectors of the matrix of transformation. In order to overcome the 2D nature of *Sketchpad* and *JavaSketchpad*, we developed a means of representing 3D space on a 2D platform. Consequently, a vector's elements are controlled by moving sliders along the various axes. These sliders can in turn be used to further illustrate descriptions of vectors with respect to the natural basis.

Even though **Transformer3D** is not as polished as **Transformer2D**, it did provide opportunities for students to grapple with what it meant to construct transformations from **R**^{3} to **R**^{3}. We designed **Transformer3D** to have a similar interface to that of **Transformer2D**. The controllers of the three column vectors of the matrix of transformation are maneuvered in the yellow box. The three vectors are controlled by sliders on the axes rather than by selecting the head of the vector and manipulating it in space. We implemented the sliders to allow for the three dimensions being rendered on a two-dimensional plane.

Below the yellow box is an area depicting the domain of the matrix transformation. For ease, the domain has been restricted to just the positive portion of the three axes. We provide an "animate points" button in this area, which randomly moves the vector **x** around in the restricted domain.

Two areas have been color coded to help students orient themselves. The larger area to the right contains a depiction of the range of the matrix transformation. The three vectors, **a1**, **a2**, and **a3,** are shown, along with the transformation of **x** with respect to the transformation *T*. In addition, students can choose to show or hide a wire frame, as well as observe the transformation of the two colored areas from the domain.

Open Transformer3D in new window

Note: The "?" at the bottom right-hand corner of the workspace is a link to Key Curriculum Press and its About *JavaSketchpad* web page.

Using Transformer3D, attempt to accomplish the following:

- Construct the matrix of transformation A = . Describe how this matrix transforms the unit cube. If you change one component of the matrix, for instance the -1 to a 2, how does that impact the image of the unit cube?

- Consider the matrix of transformation B = . Make a sketch of the image of the unit cube. Now, consider another matrix of transformation, C = , and make a sketch of the image of the unit cube. What has changed between matrix B and matrix C? How did this change impact the shapes of the images of the unit cube? Try a couple other similar changes and see if you can you make any general conjectures.

- Construct a matrix transformation that projects all points of the unit cube to a unit square. How many different ways can you accomplish this?

- Construct a matrix transformation, which is not the zero matrix, which has a degenerate image parallelepiped with zero volume.

- Construct a matrix
*A*and then construct the matrix 2*A*. For each, observe what the image of the unit square looks like. Can you make any assertions concerning the change in volume of the images when you move from*A*to 2*A*?

Note: **Transformer3D** is quite sensitive, and it is difficult to obtain exact values and construct matrices containing coordinate values of 0 for multiple entries in the same column vector. This is one of the major flaws of attempting to render 3D pictures in a 2D environment.

Next page: **17.** WebSVD Tool and Sample Activity

Next or page: **15.** Student Reactions