viva_emotion/pad
PAD Model - Pleasure, Arousal, Dominance
The “blood type” of emotional state.
Theory
Three-dimensional affective space (Mehrabian & Russell, 1974; Mehrabian, 1996):
- Pleasure (P): hedonic valence, sad ↔ happy
- Arousal (A): physiological activation, calm ↔ excited
- Dominance (D): sense of control, submissive ↔ dominant
Note on P-D Correlation
Bakker et al. (2014) found P-D correlation ≈ 0.85 in some studies. This implementation treats dimensions as independent (standard approach), but be aware they may not be perfectly orthogonal empirically.
References
- Mehrabian & Russell (1974). An Approach to Environmental Psychology. MIT Press.
- Mehrabian (1996). Current Psychology, 14, 261-292.
- Bakker et al. (2014). PLOS ONE, 9(1), e84618.
Types
Values
pub fn is_suspicious_uniform(noise: Pad) -> Bool
Check if noise is suspiciously uniform (all in [-1,1]) Returns True if noise looks like it might be uniform, not Gaussian
pub fn is_valid_noise(noise: Pad) -> Bool
Validate that noise looks like N(0,1) samples Returns True if all components are within plausible range This is a sanity check, not a statistical test
pub fn new(
pleasure: Float,
arousal: Float,
dominance: Float,
) -> Pad
Create a new PAD state (automatically clamped)