Degrees of freedom

Figure 8.8: (a) A virtual car (Cheetah) that appears in the game Grand Theft Auto; how many degrees of freedom should it have? (b) A human skeleton, with rigid bodies connected via joints, commonly underlies the motions of an avatar. (Figure from SoftKinetic).
\begin{figure}\begin{center}
\begin{tabular}{cc}
\psfig{file=figs/virtualcar.ps,...
...ton.ps,width=1.9truein} \\
(a) & (b) \\
\end{tabular}\end{center}
\end{figure}

How many parameters are there in a virtual world model? As discussed in Section 3.2, a free-floating body has $ 6$ DOFs which implies $ 6$ parameters to place it anywhere. In many cases, DOFs are lost due to constraints. For example, a ball that rolls on the ground has only $ 5$ DOFs because it can achieve any 2D position along the ground and also have any 3D orientation. It might be sufficient to describe a car with $ 3$ DOFs by specifying the position along the ground (two parameters) and the direction it is facing (one parameter); see Figure 8.8(a). However, if the car is allowed to fly through the air while performing stunts or crashing, then all $ 6$ DOFs are needed.

For many models, rigid bodies are attached together in a way that allows relative motions. This is called multibody kinematics [163,303]. For example, a car usually has $ 4$ wheels which can roll to provide one rotational DOF per wheel . Furthermore, the front wheels can be steered to provide an additional DOF. Steering usually turns the front wheels in unison, which implies that one DOF is sufficient to describe both wheels. If the car has a complicated suspension system, then it cannot be treated as a single rigid body, which would add many more DOFs.

Similarly, an animated character can be made by attaching rigid bodies to form a skeleton; see Figure 8.8(b). Each rigid body in the skeleton is attached to one or more other bodies by a joint. For example, a simple human character can be formed by attaching arms, legs, and a neck to a rigid torso. The upper left arm is attached to the torso by a shoulder joint. The lower part of the arm is attached by an elbow joint, and so on. Some joints allow more DOFs than others. For example, the shoulder joint has $ 3$ DOFs because it can yaw, pitch, and roll with respect to the torso, but an elbow joint has only one DOF.

To fully model the flexibility of the human body, $ 244$ DOFs are needed, which are controlled by $ 630$ muscles [366]. In many settings, this would be too much detail, which might lead to high computational complexity and difficult implementation. Furthermore, one should always beware of the uncanny valley (mentioned in Section 1.1), in which more realism might lead to increased perceived creepiness of the character. Thus, having more DOFs is not clearly better, and it is up to a VR content creator to determine how much mobility is needed to bring a character to life, in a way that is compelling for a targeted purpose.

In the extreme case, rigid bodies are not sufficient to model the world. We might want to see waves rippling realistically across a lake, or hair gently flowing in the breeze. In these general settings, nonrigid models are used, in which case the state can be considered as a continuous function. For example, a function of the form $ y = f(x,z)$ could describe the surface of the water. Without making some limiting simplifications, the result could effectively be an infinite number of DOFs. Motions in this setting are typically described using partial differential equations (PDEs), which are integrated numerically to obtain the state at a desired time. Usually, the computational cost is high enough to prohibit their use in interactive VR experiences, unless shortcuts are taken by precomputing motions or dramatically simplifying the model.

Steven M LaValle 2016-12-31