Source: https://vtechworks.lib.vt.edu/bitstream/handle/10919/28489/Chapter3FiniteElementMethod.pdf