Source: https://www.esa.informatik.tu-darmstadt.de/archive/twiki/pub/Lectures/TGDI11De/Kapitel04.pdf