Source: https://people.duke.edu/~hpgavin/StructuralDynamics/NumericalIntegration.pdf