Schermata 2016-08-30 alle 23.30.24

OloCoscienza Meccanica: applicazione Statistiche sugli umori.

Cominciamo mettendo in array le quattro macrocategorie di sentimenti:

var macroSentimenti = ["rabbia", "sorpresa", "disgusto", "tristezza", "paura", "felicita"];

con la function prendiMedioSentimenti sviluppiamo i sentimenti medi legati ai macroSentimenti, come nell’esempio:

function prendiMedioSentimenti(sentimento){
var sentimentiMedi;
switch (sentimento) {
case “rabbia”:
sentimentiMedi = ["pazzia", "aggressivita", "dolore", "frustazione", "distanza", "criticita", "threatened"];
break;
case “paura”:
sentimentiMedi = ["umiliazione", "insicurezza", "ansia", "sottomissione", "rigetto", "criticita"];
break;
case “sorpresa”:
sentimentiMedi = ["confusione", "startled", "eccitazione", "amazed"];
break;
case “felicita”:
sentimentiMedi = ["gioia", "interesse", "orgoglio", "accettazione","pace","potere", "ottimismo", "intimate"];
break;
case “tristezza”:
sentimentiMedi = ["noia", "solitudine", "depressione", "despair","abbandono","colpevolezza", "avoidance", "awful"];
break;
case “disgusto”:
sentimentiMedi = ["avoidance", "awful", "disappunto", "disapprovazione"];
break;
default:

}

return sentimentiMedi[Math.floor(Math.random() * sentimentiMedi.length)];
}

Andiamo a creare delle function per assegnare dei valori dati da differenti persone.
//function per generare persone casuali
function getRandomPeople() {
var nomeAmico = ["Kirk", "Maureen","Kelly", "Tamara", "Tyler", "Julian", "Jill", "Flenn"];
var cognomeAmico = [" Taylor", " Ortiz", " Berry", "Shelton"," Morrison","Sanders", "Alexander", "Rice" ];

//costruzione dell’object amicoRandom dove assegniamo un sentimentoAttivo e un sentimentoNascosto
var utenteRandom = {
nome:nomeAmico[Math.floor(Math.random() * nomeAmico.length)],
cognome: cognomeAmico[Math.floor(Math.random() * cognomeAmico.length)],
sentimentoAttivo: getRandomSentiment(),
sentimentoNascosto: getRandomSentiment()
}

return utenteRandom;

}

Creiamo una function per generare a sua volta dei sentimenti generici (dalle macrocategorie viste prima):

function getRandomSentiment() {
//prendiamo due sentimenti medi da due sentimenti principali random
var primoSentimento = prendiMedioSentimenti(getMacroSentimento());
var secondoSentimento = prendiMedioSentimenti(getMacroSentimento());

var sentimentiArray = [getMacroSentimento(),getMacroSentimento()];

//object sentimenti dove assegniamo la serie di valori da riutilizzare in fase successiva.
var sentimentoDaCalcolare = {
sentimentoVisibile: primoSentimento,
sentimentoNascosto: prendiMedioSentimenti(sentimentiArray[Math.floor(Math.random() * sentimentiArray.length)]),
sentimentoContrappeso: getMacroSentimento(),
sentimentoSubconscio: secondoSentimento
}

return sentimentoDaCalcolare;
}

Successivamente, nella main creiamo due nuovi amici random (immaginando che siano estratti da una rete generica di utenze):

var amico1 = getRandomPeople();
var amico2 = getRandomPeople();

Infine invochiamo la function principale per il calcolo della media del valore dato dal sentimento visibile del primo utente con il sentimento nascosto del secondo utente:

var primoCalcolo = calcolaMediaStatistica(amico1.sentimentoAttivo.sentimentoVisibile, amico2.sentimentoAttivo.sentimentoSubconscio);

l’implementazione del suddetto metodo:

function calcolaMediaStatistica(sent1,sent2) {
//creiamo un nuovo object di mediaCalcolata assegnando due valori random a sent1 (sentimento visibile) e sent2 (sentimento nascosto)
var mediaCalcolata = {sent1: getRandomValue(), sent2:getRandomValue()};

//iniettiamo in jQuery il testo ottenuto per visualizzarlo in html
$(‘.sentimentoFinale1′).text(sent1+” : ” + mediaCalcolata["sent1"]);
$(‘.sentimentoFin2′).text(sent2+” : ” + mediaCalcolata["sent2"]);

// Prendiamo la lunghezza dell’object per il calcolo finale
var size = Object.keys(mediaCalcolata).length;

//CALCOLO DELLA MEDIA!
var risultato = (mediaCalcolata["sent1"]+mediaCalcolata["sent2"]) / size;
return risultato;
}

…per finire, inseriamo anche il numero ottenuto in HTML tramite jQuery
$(‘.risultatoFinale’).text(primoCalcolo);

Il software alle versione 0.2 lo potete trovare qui. (refreshare la pagina per ottenere altri valori con le procedure descritte nell’articolo).

 

Schermata 2016-08-30 alle 23.30.24



'OloCoscienza Meccanica: applicazione Statistiche sugli umori.' have no comments

Be the first to comment this post!

Would you like to share your thoughts?

Your email address will not be published.