Source: https://www.itterbeek.org/uploads/documents/MecaChap10A(DynamiquePoint-Applications).pdf