There is a multitude of ways to model emotions, and some of them are collected in the EmotionML vacabularies.
Really popular with engineers and non-psychologists are two approaches:
- discreet categories like anger, sadness, fear or joy, often associated with an intensity.
- continuous dimensions like valence/pleasure, arousal or dominance
The emotion cube maps the emotional categories to a three dimensional space: