enter image description here Consider a rigid rectangular plate of length $l$, width $w$ and thickness $t$ which is at rest and is floating freely in space (no gravity). The center of the plate is at $O_L$ with respect to global coordinate frame $O_G$. The initial pose (position and orientation) $\mathbf{T}$ of the rigid body is assumed to be known and is given by a $3\times 3$ Rotationmatrix and a $3\times 1$ translation vector. Also as shown in the figure, there are $n$ points on the rigid body whose position is known. On each of these points forces are applied which is also known. After time interval $\Delta t$ the pose of the rigid body is given by $\mathbf{T'}$.

Is the information provided above sufficient to find the new pose $\mathbf{T'}$? If not, what information is missing and how do I proceed to find the new value of $\mathbf{T'}$?.

Any comments and suggestions are welcome : )


In simple words what I wish to find is a solution (if possible) that says something like: shift the plate by so and so amount in $x$, $y$ and $z$ direction and then rotate by so and so amount about $x,y$ and $z$ axis respectively so that the plate lands at $\mathbf{T'}$.

Please note that the Forces remain constant during the short time interval $\Delta t$.

  • 1
    $\begingroup$ Are the forces known functions of position, or of time? Are their directions & magnitudes specified relative to the body, or to the space axes? These questions make a difference in what the answer ends up being and how difficult the question is to answer. $\endgroup$ Dec 18 '20 at 14:49
  • $\begingroup$ The forces are independent of the position and remain constant during the small time interval $\Delta t$. Their directions and magnitudes specified are relative to the body. $\endgroup$ Dec 18 '20 at 15:00
  • 1
    $\begingroup$ You might be interested to read my post physics.stackexchange.com/questions/575287/… about the Euler equation for a rigid body. $\endgroup$ Jan 10 at 13:31

The translational motion of the center of mass (CM) is given by solving the second law: $Md \vec V/dt = \vec F_{ext}$ where $M$ is the total mass, $\vec V$ is the velocity of the CM, and $\vec F_{ext}$ is the net external force. This applies for any system of particles, in a rigid body or not.

The following discussion of the rotational motion assumes a rigid body. The rotational motion about the moving center of mass is complicated to evaluate; for example, inertia is a tensor for general 3D rotation. A typical approach is to first find the principal axes for the body; axes for which the products of inertia in the inertia tensor are zero. The principal axes form the body axes, fixed in the body with origin at the CM. The body axes rotate with the body. To evaluate the motion with respect to a fixed set of space axes with origin at the CM (the space axes are fixed and do not rotate), the Eulerian angles can be used. Then, the rotational motion can be modeled with a Lagrangian using the Eulerian angles. This approach is discussed in many intermediate/advanced physics mechanics tests, such as: Symon, Mechanics and Goldstein, Classical Mechanics. I suggest you consult such a textbook for the details, and for examples, such as how to identify the principal axes, the motion of a symmetrical top, and torque-free motion. In general, numerical approaches are necessary, especially for non-symmetrical bodies .

In addition to the information you provide, the density of the plate is also required to set up the equations to evaluate $T'$ using the approach summarized above. The principal axes for your plate- assuming constant density- are easy to identify due to symmetry


you have to solve those equations

\begin{align*} &m\,\boldsymbol{\ddot{R}}=\boldsymbol{S}(\boldsymbol\varphi)\,\sum_i\,\boldsymbol{F}_i\\ &\boldsymbol\Theta\,\boldsymbol{\dot{\omega}}+\boldsymbol\omega\times\,\left(\boldsymbol\Theta\,\boldsymbol\omega\right) =\sum_i \left(\boldsymbol{r}_i\times \boldsymbol{F}_i\right)\\ &\boldsymbol{\dot\varphi}=\boldsymbol{A}\,\boldsymbol\omega \end{align*} with the initial conditions \begin{align*} &\boldsymbol{R}(0)= \boldsymbol{R}_0\\ &\boldsymbol{\dot{R}}(0)= \boldsymbol{0}\\ &\boldsymbol{\varphi}(0)=\boldsymbol{\varphi}_0\\ &\boldsymbol\omega(0)=\boldsymbol{0} \end{align*}


  • $\boldsymbol{S}$ Rotation matrix between body system and inertial system
  • $\boldsymbol{R}$ Center of mass position vector
  • $\boldsymbol{\omega}$ Angular velocity
  • $\boldsymbol{\varphi}=\left[\alpha~,\beta~,\gamma\right]^T$ the Euler angles
  • $\boldsymbol\Theta$ Intertia tensor \begin{align*} \boldsymbol\Theta= \left[ \begin {array}{ccc} \frac{m}{12}\, \left( {w}^{2}+{t}^{2} \right) &0&0 \\ 0&\frac{m}{12} \left( {l}^{2}+{t}^{2} \right) &0 \\ 0&0&\frac{m}{12} \left( {l}^{2}+{w}^{2} \right) \end {array} \right] \end{align*}

from the solution of the differential equations you obtain the position of the center of mass $~\boldsymbol{R}(t)~$ and the body rotation matrix $~\boldsymbol{S}(t)$


how to obtain the matrix $~\boldsymbol{A}$

you start with the rotation matrix for example:

\begin{align*} &\boldsymbol S=\left[ \begin {array}{ccc} 1&0&0\\ 0&\cos \left( \alpha \right) &-\sin \left( \alpha \right) \\ 0& \sin \left( \alpha \right) &\cos \left( \alpha \right) \end {array} \right]\, \left[ \begin {array}{ccc} \cos \left( \beta \right) &0&\sin \left( \beta \right) \\ 0&1&0\\ -\sin \left( \beta \right) &0&\cos \left( \beta \right) \end {array} \right]\, \left[ \begin {array}{ccc} \cos \left( \gamma \right) &-\sin \left( \gamma \right) &0\\ \sin \left( \gamma \right) &\cos \left( \gamma \right) &0\\ 0&0&1\end {array} \right]\\\\ &\text{with}\\ &\left[ \begin {array}{ccc} 0&-\omega_{{z}}&\omega_{{y}} \\ \omega_{{z}}&0&-\omega_{{x}}\\ -\omega_{{y}}&\omega_{{x}}&0\end {array} \right] =\boldsymbol{S}^T\,\frac{d}{dt}\,\boldsymbol{S}\\ &\Rightarrow\\ &\begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \\ \end{bmatrix}=\underbrace{\left[ \begin {array}{ccc} \cos \left( \beta \right) \cos \left( { \gamma} \right) &\sin \left( {\gamma} \right) &0\\ - \cos \left( \beta \right) \sin \left( {\gamma} \right) &\cos \left( { \gamma} \right) &0\\ \sin \left( \beta \right) &0&1 \end {array} \right] }_{\boldsymbol{J}_R}\,\begin{bmatrix} \dot{\alpha} \\ \dot{\beta} \\ \dot{\gamma}\\ \end{bmatrix}\\ &\boldsymbol{A}=\left[\boldsymbol{J}_R\right]^{-1}= \left[ \begin {array}{ccc} {\frac {\cos \left( \gamma \right) }{\cos \left( \beta \right) }}&-{\frac {\sin \left( \gamma \right) }{\cos \left( \beta \right) }}&0\\ \sin \left( \gamma \right) &\cos \left( \gamma \right) &0\\ -{\frac { \sin \left( \beta \right) \cos \left( \gamma \right) }{\cos \left( \beta \right) }}&{\frac {\sin \left( \beta \right) \sin \left( \gamma \right) }{\cos \left( \beta \right) }}&1\end {array} \right] \end{align*}

The initial conditions $~\boldsymbol{\varphi}_0=\left[\alpha_0~,\beta_0~,\gamma_0\right]$


\begin{align*} & \boldsymbol{S}_{t=0}=\left[ \begin {array}{ccc} m_{{1,1}}&m_{{1,2}}&m_{{1,3}} \\ m_{{2,1}}&m_{{2,2}}&m_{{2,3}} \\ m_{{3,1}}&m_{{3,2}}&m_{{3,3}}\end {array} \right]\\\\ &\text{with}~\boldsymbol S= \boldsymbol{S}_{t=0}\\ &\Rightarrow\\ &\tan \left( \alpha_{{0}} \right) =-{\frac {m_{{2,3}}}{m_{{3,3}}}}\\ &\tan \left( \gamma_{{0}} \right) =-{\frac {m_{{1,2}}}{m_{{1,1}}}}\\ &\sin \left( \beta_{{0}} \right) =m_{{1,3}} \end{align*}

  • $\begingroup$ which program do you use for die simulation Matlab, Maple ?. usually you transfer die differential equations to first order differential equations then you can use for example RK4 integration method. If you use Matlab i can write you the code for the simulation $\endgroup$
    – Eli
    Jan 13 at 13:46
  • $\begingroup$ I use MATLAB for the simulation. Very gladly indeed!!! Would be awesome to see the implementation in MATLAB (= $\endgroup$ Jan 13 at 13:53
  • $\begingroup$ can you open this file drive.google.com/file/d/1QoSsFAYuZ0T3736dIMCZ4ZcNJL8WPXz2/… $\endgroup$
    – Eli
    Jan 13 at 16:44
  • $\begingroup$ and this one drive.google.com/file/d/1ASZW9NZqJLvFV-SQJC94qEmThmZKcU-5/… $\endgroup$
    – Eli
    Jan 13 at 16:46
  • $\begingroup$ yes, I can open the file $\endgroup$ Jan 13 at 17:30

The torque calculated from a point of an inertial frame (for example the origin $O_G$) is the time derivative of the total angular momentum: $$\tau = \frac{d\mathbf L}{dt}$$

And the angular momentum of the plate at a given time is:

$$\mathbf L = \int_v \mathbf r_G \times d\mathbf p = \int_v \mathbf r_G \times \frac{d\mathbf r_G}{dt} \rho dv$$

Where $\mathbf r_G$ is the position vector of the points of the plate from the origin $O_G$. But at the same time, by knowing the forces and their locations in the plate, the torque is known:

$$\tau = \sum_{i=1}^n\mathbf r_{Gi} \times \mathbf F_i$$

Equating this torque to the time derivative of the intergral of the angular momentum we have a diferential vector equation in $\mathbf r_G$ and $\frac{d\mathbf r_G}{dt}$, that should be solved with the boundary conditions that $\frac{d\mathbf r_G}{dt} = 0$ when $t = 0$.

This procedure is valid even if the body is not rigid. But that additional constraint means that for any point of the body, the distances to any other point don't change with time. Choosing axis parallel to global coordinate frame $O_G$, but with origin at an arbitrary point of the body, after a small time $\Delta t$ the position of all the other points move according to the infinitesimal rotation matrix $R$.

$$\Delta \mathbf r_b = R\mathbf r_b - \mathbf r_b = (R - I)\mathbf r_b \implies \frac{d \mathbf r_b}{dt} = \Omega \mathbf r_b$$

Where $\mathbf r_b$ are the position vectors relative to the selected origin in the body, and $\Omega$ is the matrix:

\begin{Bmatrix} 0 & -\omega_3 & \omega_2\\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{Bmatrix}

The $\omega$'s are the instantaneous angular velocities relative to the coordinates axis. The cross product in the integral of the angular momentum becomes:

$$\mathbf r_b \times \frac{d\mathbf r_b}{dt} = \mathbf r_b \times \Omega \mathbf r_b$$

Expanding the cross product, the angular momentum at any given time, relative to the point in the body, can be expressed as: $\mathbf L = (\int_v \rho M dv) \omega$

where $M$ is the square matrix:

\begin{Bmatrix} (y^2 + z^2) & -xy & -xz \\ –yx & (z^2 + x^2) & -yz \\ -zx & –zy & (x^2 + y^2) \end{Bmatrix}

and $\omega$ is the column matrix:

\begin{Bmatrix} \omega_1 \\ \omega_2 \\ \omega_3 \end{Bmatrix}

In particular, if the selected point in the body is the COM, we can use the second Newton's law for its movement:

$$\sum_{i=1}^n\mathbf F_i = m \frac{d\mathbf v_{COM}}{dt}$$

And equate torque relative to the COM to the time derivative of angular momentum also relative to the COM:

$$\tau = \sum_{i=1}^n\mathbf r_{COMi} \times \mathbf F_i = \frac{d(\int_v \rho M dv) \omega}{dt}$$

Of course the integral simplifies a lot if the density is constant, and if by coincidence the forces happens to rotate the body around one of the 3 main axis of inertia.

  • $\begingroup$ After refering to the book Classical Mechanics by Herbert Goldstein, the matrix $\Omega$ you mention is infinitesimal Rotation matrix? What is the square matrix $\mathbf{M}$ called and what's the name of it? How does one solve the last equation you mentioned to obtain the Translation and Rotation since all I know is $\mathbf{r}_{\textrm{COM}i}$ and $\mathbf{F}_i$. The rigid body is homogeneous so the density $\rho$ is constant. $\endgroup$ Jan 6 at 13:07
  • 1
    $\begingroup$ I don't have this book. What I understand by infinitesimal rotation matrix is what I called R. $\Omega$ is the time derivative of $R - I$ (I is the identity matrix). I don't know if M has a name, but the integral $\int_v \rho Mdv$ is called inertia matrix. About the solution, I think of a numerical method, where for each small $\Delta t$ step, the integral is calculated (also numerically), and knowing the forces, the instantaneous $\omega$'s are determined. $\endgroup$ Jan 6 at 14:00

In a short answer "Yes" it is sufficient. Any rigid body has 6 degrees of freedom, 3 translational 3 rotational. On certain cases; 3 independent variable description for rotation results in singularity problems where rotation can not be defined. Therefore, with introducing new variable rotation is described with 4 variables where they depend each other with one equation which is called constraint equation. Therefore even with 4 rotational parameter descripton rigid body has only 6 degrees of freedom, in total. In your case;

You define value of the six positional variables, value of the six speed variables and value of the six accelerational variables due to forces. Where everything is completely defined.

So your problem is "well defined" problem.


At each instant, the vector sum of the forces (as specified in an inertial frame of reference) determines the acceleration of the center of mass (as a vector in that system). Also the vector sum of the torques about the center of mass determines the angular acceleration about the center of mass. Integrate each of these to get the velocity and angular velocity (as vectors as a function of time). Integrate again to get the new position and angular position. In general, this will require a numeric simulation which works with multiple variables from one instant to the next.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.