Skip to content

Instantly share code, notes, and snippets.

@AdrienVH
Last active April 21, 2016 16:33
Show Gist options
  • Save AdrienVH/11293520 to your computer and use it in GitHub Desktop.
Save AdrienVH/11293520 to your computer and use it in GitHub Desktop.
Calculer le rayon de cercles proportionnels (en fixant un diamètre minimal ou maximal)
/*
Méthodologie : http://blog.adrienvh.fr/2014/04/09/calculer-le-rayon-de-cercles-proportionnels/
*/
// Distribution statistique
var distribution = [25, 46, 2, 39, 30, 21, 3, 19, 15, 5]; // http://www.random.org/integer-sets/
var valeur_min = Math.min.apply(Math, distribution);
var valeur_max = Math.max.apply(Math, distribution);
// Calcul du rayon (diamètre minimal fixé)
var diametre_min = '20';
var resultat = [];
for(var i in distribution)
{
var valeur = distribution[i];
var rayon = Math.round((diametre_min / 2) * Math.sqrt(valeur / valeur_min));
resultat.push({'valeur':valeur, 'rayon':rayon});
}
console.log(resultat);
// Calcul du rayon (diamètre maximal fixé)
var diametre_max = '1000';
var resultat = [];
for(var i in distribution)
{
var valeur = distribution[i];
var rayon = Math.round((diametre_max / 2) * Math.sqrt(valeur / valeur_max));
resultat.push({'valeur':valeur, 'rayon':rayon});
}
console.log(resultat);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment