Open adriens opened 4 years ago
Ca avance
Premier code pur getter les données d'une agence:
let url = 'https://xxx/temps-attente/agence/4314'
var agence;
function setup() {
noLoop();
createCanvas(100, 100);
loadJSON(url, drawAgence );
}
function drawAgence(data){
agence=data;
stroke(255);
let ms = agence.realMaxWaitingTimeMs;
let name = agence.designation;
print(ms);
print(name);
print(data)
text(name, 0, height - 30, width, 30);
ellipse(56,46,ms+46, ms+55);
}
function draw() {
background(200);
}
L'idée est de câbler le débit d'un jet à celui de la file d'attente: https://p5js.org/examples/simulate-particle-system.html
Plus le temps d'attente est grand, plus le débit est lent, et plus le temps d'attete est petit, plus le début est important. Il faudra mapper pour éviter les valeurs infinies ou nulles pour que ça bouge soit toujours un minimum, soit fixer un début max. Le 0 est peut-être le pire à gérer...
Je pense que le mieux c'est d'ajouter une variable débit à la classe particule
let Particle = function(position) {
this.debit=10;
this.acceleration = createVector(0, 0.05);
this.velocity = createVector(random(-1*this.debit, 1*this.debit), random(-1*this.debit, 0*this.debit));
this.position = position.copy();
this.lifespan = 255;
};
mais de choper le débit en async sur le ws
Le tuto qui va bien: https://youtu.be/UNtqhnhD-wo
Ce sera en fait plus sympa de faire une relation linéaire:
plus il ya du monde plus le jet est fort, comme un volcan
C'est linéaire, et pas de division par 0 😄
J'ai un premier sketch, mais faut attendre lundi, là, le jet est tout mou:
J'ai préparé le html et js à part , y'a plus qu'à tester avec de l'activité
éventuellement ajouter un gradient de couleur aux particules
de bleu à jaune puis rouge car plus "chaud"
L'éditeur en ligne n'a pas d'autocomplete et ne permet pas de faire tourner en localhots l'api. J'ai basculé en local pour pas cramer mon heroku. Il faudra bien faire attention à ça.
Bon, pour l'instant, ça coince https://github.com/processing/p5.js/issues/4372