The Curved Cube

A spinning cube.

Objective: Find the equations for the visual outline of a spinning cube.

Level: Precalculus (with vectors), vector calculus, or linear algebra.

Prerequisites: Distance formula in three dimensions, dot products, computations for projections and scalar projections, and the Pythagorean Theorem. 

Platform: The demo is physically based, but can be simulated within various software packages.

Instructor's Notes: Take a solid cube with rods attached at diagonally opposite vertices. Hold the rods horizontally and rapidly spin the cube. (See Figure 1.) You should see a curved outline formed by the spinning cube. Our objective is to discover how the straight edges of the cube become curved.

Figure 1.

For the one instant in time shown in Figure 1 the upper outline is simply three lines, see Figure 2, but as the cube is rotated that outline changes. What we see as the cube is quickly rotated is the points on the edge of the cube when they appear to be at a maximum distance from the center of rotation.

Figure 2.

A simulation of this behavior can be generated by using a Styrofoam cube with a nail inserted in a corner. Next, insert the nail in the chuck of a variable speed drill, tighten the drill chuck, and experiment with drill speeds to generate a view of the behavior of the points on the edges of the cube as described above. See Figure 3.

Figure 3.

The Mathematical Model

To determine the equations for the visual outline of the spinning cube we assume that the edge of the cube is one unit with point O at the origin (0, 0, 0) and point P at (1, 1, 1). The line segment OP is the axis of revolution and point A is (0, 0, 1) with B at (0, 1, 1) as shown in Figure 4.

Figure 4.

As the cube is quickly rotated the points we see are the points on the edge of the cube when they appear at a maximum distance from the center of rotation. This means that to determine the shape of the outline of the rotating cube we need to compute the distance from each point on an edge to the axis of revolution segment OP. For a point (x, y, z) on an edge consider the plane containing it and the points O and P. We define the independent variable t to be the distance from the origin O to a point along the axis of revolution. That is, t = 0 corresponds to the origin and t increases as we move along the axis of rotation towards P. The distance formula for point in 3-space tells us that at P we have . Our task is to compute the height h as a function of t for each point on an edge of the cube. (See Figure 5.) The graph of h(t) for shows the visual outline of the spinning cube.


Figure 5.

Since each edge of our cube lies in a coordinate plane or in a plane parallel to a coordinate plane only one of x, y, or z varies along an edge. Hence we need only consider three representative edges; one in which each of x, y, or z varies. We will use the three edges OA, AB, and BP shown in Figure 4.

Edge OA
The z-coordinate varies along OA, and any point Q along it has coordinates (0, 0 , z) for some z between 0 and 1. To find h as a function of t for point Q we first compute the length of the projection (also called the scalar projection) of the vector onto vector . (See Figure 6.) This length is the value of t corresponding to the projection of onto and then the height associated with point Q is determined by the Pythagorean Theorem. 

Figure 7.



Figure 6.


and as seen from Figure 7. Using the value of t and solving for h we have . Along edge OA z extends from 0 to 1 so t ranges from . This gives a portion of the description of has a function of t.

Edge PB
The x-coordinate varies along PB, and any point Q along it has coordinates (x, 1 , 1) for some x between 0 and 1. Again the task is to find h as a function of t for point Q. Here the right side of OP is used (see Figure 5), so it is convenient to orient all vectors from right to left. Hence t will be measured from P so we seek the value of . Thus we determine the length of the projection of QP onto PO as


It follows again from the Pythagorean Theorem (see Figure 8) that 

and so solving for h we get


This side extends from x = 0 to x = 1, so t ranges from .Thus we can describe the function h(t) in the form

Figure 8.

Edge AB
The y-coordinate varies along AB, and any point Q along it has coordinates (0, y , 1) for some y between 0 and 1. Following a procedure similar to that for edge OA, we have 


The hypotenuse of the triangle in this case is (see Figure 9) hence we have . Substituting for y in terms of t and solving for h gives 


Figure 9.

Thus the formula that describes the height as function of t is


It turns out that the remaining edges of the cube only produce copies of the expressions in h(t).

The Curve of the Cube

A graph of the function h(t) is shown in Figure 10. As you can see from watching the rotating cube, the outline is straight on the sides and curved in the middle. 

Figure 10.

More can be said about the curved portion of h(t). Let


then squaring both sides and rearranging terms we get

and completing the square in t we obtain the expression

which is the equation of a hyperbola. Thus the curved shape seen when the cube is rapidly rotated is actually a portion of a hyperbola.

With Linear Algebra

In a linear algebra course this demo provides an opportunity to employ topics that are often described as elementary computer graphics. In the development of the function h(t) we used a unit cube with its lower left back corner at the origin O of a three dimensional coordinate system and viewed the axis of revolution as the segment OP as in Figure 4. However, when we illustrated the spinning cube in the animation at the beginning of the demo and discussed the rotations of the cube as in Figures 1 and 2 we changed the orientation of the cube so that segment OP appeared horizontal. Certainly this eases the use of a physical model and would be a natural position for using the drill in Figure 3. This change of view can initiate a discussion about how to rotate the cube of Figure 4 to that in Figure 1. Once this is done a further discussion of how to achieve the spinning effect naturally follows. Each of these involve rotations about coordinate axes in 3-space and parameterizing rotations to perform a spin. Ideally it would be nice for students to perform the steps in a programming language or in a mathematical environment like Maple, Mathematica, or MATLAB. This could be used as a group project for an appropriate class. Following is an animation of the process which emphasizes the requisite steps. (The animation is deliberately slow.) This animation was developed in MATLAB and a file that produced the frames containing cubes can be downloaded by clicking here.

The preceding animation was presented at a slow rate since its  appearance would be much the same within browsers and not depend on machine speed. This is just part of a longer file that should run much faster in a utility like Windows Media Player or Animation Shop and deliver a greatly enhanced visualization of the spinning cube.  Click here to download an extended and faster animation file.

Credits:  This demo was suggested by 

Dr. Richard Grant and submitted by Dr. Roland Minton 

both of Roanoke College, Salem Virginia, and is included in Demos with Positive Impact with their permission. The animations and MATLAB file were created by David R. Hill and included with his permission.

DRH          2/24/2003          Last updated 2/28/2003

Since 2/28/2003