JSFiddle - React, Tailwind, and code Playground
by morphcast
JavaScript
// Funzione per trovare l'affect più vicino
function findClosestAffect(v, a, model = AFFECTS_98) {
let closestAffect = null;
let closestDistance = Infinity;
model.forEach((affect) => {
const distance = Math.pow(affect.v - v, 2) + Math.pow(affect.a - a, 2);
if (distance < closestDistance) {
closestDistance = distance;
closestAffect = affect;
}
});
return closestAffect;
}
export const AFFECTS_38 = [
{name: "Afraid", v: -0.41, a: 0.79},
{name: "Amused", v: 0.55, a: 0.20},
{name: "Angry", v: -0.11, a: 0.79},
{name: "Annoyed", v: -0.44, a: 0.66},
{name: "Anxious", v: -0.73, a: -0.80},
{name: "Apathetic", v: -0.20, a: -0.13},
{name: "Astonished", v: 0.42, a: 0.89},
{name: "Bored", v: -0.34, a: -0.79},
{name: "Calm", v: 0.76, a: -0.66},
{name: "Conceited", v: 0.19, a: 0.65},
{name: "Contemplative", v: 0.59, a: -0.59},
{name: "Content", v: 0.82, a: -0.56},
{name: "Convinced", v: 0.42, a: 0.43},
{name: "Delighted", v: 0.88, a: 0.36},
{name: "Depressed", v: -0.81, a: -0.46},
{name: "Determined", v: 0.74, a: 0.26},
{name: "Disappointed", v: -0.80, a: -0.03},
{name: "Discontented", v: -0.67, a: 0.33},
{name: "Distressed", v: -0.71, a: 0.56},
{name: "Embarrassed", v: -0.32, a: -0.59},
{name: "Enraged", v: -0.17, a: 0.72},
{name: "Excited", v: 0.70, a: 0.72},
{name: "Feel Well", v: 0.91, a: -0.07},
{name: "Frustrated", v: -0.60, a: 0.39},
{name: "Happy", v: 0.90, a: 0.16},
{name: "Hopeful", v: 0.62, a: -0.30},
{name: "Impressed", v: 0.39, a: -0.07},
{name: "Melancholic", v: -0.04, a: -0.66},
{name: "Peaceful", v: 0.55, a: -0.79},
{name: "Pensive", v: 0.03, a: -0.59},
{name: "Pleased", v: 0.88, a: -0.10},
{name: "Relaxed", v: 0.71, a: -0.66},
{name: "Sad", v: -0.82, a: -0.40},
{name: "Satisfied", v: 0.77, a: -0.63},
{name: "Sleepy", v: 0.02, a: -0.99},
{name: "Tired", v: -0.02, a: -0.99},
{name: "Uncomfortable", v: -0.67, a: -0.36},
{name: "Worried", v: -0.08, a:...