I was working on a problem of supporting an object with sticks and wondering about some use cases that would fail.

My approach is to place the n-sticks (for example 4) under an object with mass m placed on the top of a massless rectangular place in such a way that the Center of Mass (CM) falls inside the polygon. You can see the below diagram:

enter image description here

My Questions:

  1. *If the CM of the object lies exactly on the Centroid of the polygon, all four sticks will have equal weight distribution? * Is this true?
  2. How can we define static stability conditions for the whole system?

For the stability conditions, I was thinking that the CM of the object should be as close as possible to the centroid of the polygon. Can this be true for the static stability?

Also, in the case of 2 sticks, they form a line, if the CM of the object lies on that line having equal force distribution on each stick, does this prove that the system is stable? And the object will not tip over?

  • $\begingroup$ What do you mean by "static stability"? Do you mean it in the sense that it is defined here? en.wikipedia.org/wiki/Static_stability $\endgroup$
    – Bob D
    Sep 25 at 14:01
  • $\begingroup$ Exactly, by static stability I mean is when the sticks are holding the object, the object should not tip over. $\endgroup$
    – Ken Adams
    Sep 25 at 14:02
  • $\begingroup$ That is static equilibrium. You can have static equilibrium without stability $\endgroup$
    – Bob D
    Sep 25 at 14:09
  • $\begingroup$ Then how one can define stability in this scenario? $\endgroup$
    – Ken Adams
    Sep 25 at 14:11
  • $\begingroup$ See my answer below $\endgroup$
    – Bob D
    Sep 25 at 14:17

2 Answers 2


You seem to be conflating static equilibrium with stability. Static equilibrium is achieved if the sum of the forces and sum of the moments are both zero, or

$$\sum\vec F=0$$ $$\sum\vec M=0$$

That applies whether or not the load is equally distributed

In mechanics a system is stable if, when displaced from equilibrium, it experiences a net force or torque in a direction opposite to the displacement so that equilibrium is restored. An example is a marble at the bottom of a bowl which will experience a restoring force when displaced from its equilibrium position.

In your example of two sticks the system is in equilibrium but unstable. If the CM is displaced off the line there will be a net torque about the line causing tip over.

Hope this helps.

  • $\begingroup$ Thanks for the answer. I am aware I am not clear about the difference. How will I know that the system is unstable? How is the two sticks system Unstable if the CM is on the line? Can you guide me to the study/ reference material for this? Thanks :) $\endgroup$
    – Ken Adams
    Sep 25 at 14:33
  • $\begingroup$ I want to know that, what if my system starts moving, will the 2-stick system always fail the stability measure? In the case of 3 sticks, if the CM still stays inside the stability polygon, can I say that the system is stable in that case? $\endgroup$
    – Ken Adams
    Sep 25 at 14:35
  • $\begingroup$ @KenAdams: A rule of thumb is that if the system pivots about the line between any two legs, the CM of the system should get higher rather than lower. Search for "potential energy and stability" to learn more about why this is. $\endgroup$ Sep 25 at 14:38
  • $\begingroup$ @KenAdams it is unstable because slightly moving it off the line causes it to tip over $\endgroup$
    – Bob D
    Sep 25 at 18:06

Let's approach this problem by assuming the legs of the polygon are elastic and they carry as much force as they are deflected (compressed), but the table itself is a rigid body.


This means that for each location $\overline{r}_i = (x_i, y_i)$ the deflection is a function of the overall vertical deflection $\delta$ of the table and the two tilt angles $\overline{\theta} = ( \theta_x, \theta_y )$ in the following way

$$ \delta_i = \delta + \overline{\theta} \times \overline{r}_i $$

This expression is akin to the velocity kinematics of a rigid body $\vec{v}_i = \vec{v} + \vec{\omega} \times \vec{r}_i$, but applied for a small time slice such that $\overline{\theta} = \vec{\omega} \Delta t$ and $\delta = \vec{v} \Delta t$.

The 2D cross-product operator $\times$ results only in the in-plane component of the resulting vector. So the above is $\delta_i = \delta + \theta_x y_i - \theta_y x_i$.

At each leg the vertical force $F_i$ is calculated from the table deflection as

$$F_i = k \,\delta_i = k \left( \delta - \overline{r}_i \times \overline{\theta} \right) $$

Now to sum up all the forces and moments at the origin

$$ F_{\rm net} = \sum_i F_i $$ $$ \overline{M}_{\rm net} = \sum_i \overline{r}_i \times F_i$$

And again the cross product is appropriately defined such that $\overline{r}_i \times F_i = ( y_i F_i, -x_i F_i )$

The net force/moment at the origin, must be equal to the applied force/moment (Newton's 3rd law). If the location of the applied force is $\overline{c} = (x_c,y_c)$ and the total load is $W$, then

$$ \overline{M}_{\rm net} = \overline{c} \times W $$ $$ F_{\rm net} = W$$

Now to express the above relationships in terms of linear-algebra.

The leg forces are

$$\begin{bmatrix}F_{1}\\ F_{2}\\ \vdots\\ F_{n} \end{bmatrix}=k\,\begin{bmatrix}y_{1} & -x_{1} & 1\\ y_{2} & -x_{2} & 1\\ \vdots & \vdots\\ y_{n} & -x_{n} & 1 \end{bmatrix}\begin{bmatrix}\theta_{x}\\ \theta_{y}\\ \delta \end{bmatrix} \tag{1}$$

and the balance of forces are

$$\begin{bmatrix}y_{1} & y_{2} & \cdots & y_{n}\\ -x_{1} & -x_{2} & \cdots & -x_{n}\\ 1 & 1 & & 1 \end{bmatrix}\begin{bmatrix}F_{1}\\ F_{2}\\ \vdots\\ F_{n} \end{bmatrix}=\begin{bmatrix}y_{c}W\\ -x_{c}W\\ W \end{bmatrix}$$

Now recognize the (n×3) common coefficient matrix

$$ {\rm G}=\begin{bmatrix}y_{1} & -x_{1} & 1\\ y_{2} & -x_{2} & 1\\ \vdots & \vdots\\ y_{n} & -x_{n} & 1 \end{bmatrix} \tag{2} $$

and normalize each force to a fraction of the applied load $w_i = F_i/W$ and re-write the above equation(s) after inserting (1) into (2) as

$$\left({\rm G}^{\intercal}k\,{\rm G}\right)\begin{bmatrix}\theta_{x}\\ \theta_{y}\\ \delta \end{bmatrix}=\begin{bmatrix}y_{c}\\ -x_{c}\\ 1 \end{bmatrix}W \tag{3}$$

with direct solution

$$\begin{bmatrix}\theta_{x}\\ \theta_{y}\\ \delta \end{bmatrix}=\tfrac{W}{k}\left({\rm G}^{\intercal}{\rm G}\right)^{-1}\begin{bmatrix}y_{c}\\ -x_{c}\\ 1 \end{bmatrix} \tag{4}$$

and in terms of the normalized leg forces, the stiffness and applied load all cancel out to get

$$\begin{bmatrix}w_{1}\\ w_{2}\\ \vdots\\ w_{n} \end{bmatrix}={\rm G}\left({\rm G}^{\intercal}{\rm G}\right)^{-1}\begin{bmatrix}y_{c}\\ -x_{c}\\ 1 \end{bmatrix} \tag{5}$$


So the process has three steps

  1. Define the coefficient matrix $$\small {\rm G}=\begin{bmatrix}y_{1} & -x_{1} & 1\\ y_{2} & -x_{2} & 1\\ \vdots & \vdots\\ y_{n} & -x_{n} & 1 \end{bmatrix}$$
  2. Define the constant vector $$\small {\rm C}=\begin{bmatrix}y_{c}\\ -x_{c}\\ 1 \end{bmatrix}$$
  3. Calculate the normalized weights for each leg (the baryweights as they are called) $$\small {\rm w}={\rm G}\left({\rm G}^{\intercal}{\rm G}\right)^{-1}{\rm C}$$


Now some of the baryweights might be negative. This is ok, as long as there are at least 3 legs with positive weight on them.

You can go through the above steps and for any leg you find is in tension (negative weight), you can remove it as a row from ${\rm G}$ and try again, until a) you have only 3 positive weights, or b) have one negative weight and 3 legs which means the table is unstable and it will tip over.

  • $\begingroup$ I tried running this code with giving fix values of the 4 legs, [(0, 0), (0, -4), (4, -4), (4, 0)] with [(y, -x)] convention and keeping the coordinates of weight at (2, -2), The mass is 10 kg, so I was hoping as the mass it at the center of the square, the weight on each leg should be 2.5kg. but it is not. It gives the solution as [7.0, 2.5, -2.0, 2.5]. As some of them are in negative, you said that it will be unstable for negative weights. But as the mass is at the center of the square, the system should be stable $\endgroup$
    – Ken Adams
    Sep 26 at 9:29
  • $\begingroup$ Please edit your question and include a concrete example to test the code. $\endgroup$ Sep 26 at 13:08
  • $\begingroup$ I made some drastic changes to my post to show the development of the method I use. $\endgroup$ Sep 27 at 15:40
  • $\begingroup$ thanks for the answer. I really appreciate it. But I want to formulate this problem in a linear program where taking the inverse of a matrix is not possible. But I tried some other way. Can you please have a look at my approach and advise me if I am conceptually wrong? Thanks. Here it the link to the post: physics.stackexchange.com/questions/784720/… $\endgroup$
    – Ken Adams
    Oct 17 at 12:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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