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:...