parent
458907da11
commit
1ff0612e7a
@ -0,0 +1,14 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
|
||||||
|
public class CapteurCPU extends CapteurAbstrait {
|
||||||
|
CapteurCPU(int id, String nom) {
|
||||||
|
super(id, nom);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ObjectProperty<Double> genTemp() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class CapteurIntervalle extends CapteurAbstrait{
|
||||||
|
/*
|
||||||
|
Un capteur peut générer une température dont la valeur est aléatoire;
|
||||||
|
Les températures ne pouvant descendre sous un certain seuil, on veut
|
||||||
|
aussi un capteur plus réaliste qui génère des températures dont la valeur
|
||||||
|
est comprise dans un certain intervalle défini à la création (et dont le
|
||||||
|
minimum ne peut être inférieur à 0°K);
|
||||||
|
*/
|
||||||
|
public CapteurIntervalle(int id, String nom, Double minVal, Double maxVal){
|
||||||
|
super(id,nom);
|
||||||
|
// si min inférieur a zero, alors passe a 0
|
||||||
|
if(minVal < 0){
|
||||||
|
minVal = (double) 0;
|
||||||
|
}
|
||||||
|
this.minVal = minVal;
|
||||||
|
this.maxVal = maxVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Double minVal;
|
||||||
|
private Double maxVal;
|
||||||
|
@Override
|
||||||
|
public ObjectProperty<Double> genTemp() {
|
||||||
|
Random rand = new Random();
|
||||||
|
double randomValue = rand.nextDouble(this.maxVal - this.minVal) + minVal;
|
||||||
|
this.setTemp(randomValue);
|
||||||
|
return this.getTemp();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class CapteurRealiste extends CapteurAbstrait{
|
||||||
|
/*
|
||||||
|
Pour rendre les variations plus réalistes on veut un capteur qui génère des
|
||||||
|
températures dont la variation est bornée en fonction d'un intervalle [-d;+d]
|
||||||
|
et d'une température initiale T (tous deux définis à la création)
|
||||||
|
|
||||||
|
t0 = T
|
||||||
|
ti+1 = ti + random(-d,+d)
|
||||||
|
*/
|
||||||
|
public CapteurRealiste(int id, String nom, double tZero, double borne) {
|
||||||
|
super(id, nom);
|
||||||
|
this.borne = borne;
|
||||||
|
this.tZero = tZero;
|
||||||
|
this.setTemp(tZero);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Double borne;
|
||||||
|
private Double tZero;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ObjectProperty<Double> genTemp() {
|
||||||
|
Random rand = new Random();
|
||||||
|
|
||||||
|
double randomValue = rand.nextDouble() * 2 * this.borne - this.borne;
|
||||||
|
/* rand.nextDouble fait un double entre 0 et 1.
|
||||||
|
* Ensuite on fait * 2*borne pour que l'intervale soit entre 0 et 2*borne.
|
||||||
|
* On soustrait borne après comme ça on a un nombre entre -borne et borne.
|
||||||
|
*/
|
||||||
|
|
||||||
|
double newTemp = this.getTemp().getValue() + randomValue; //tzero + random entre -borne et borne
|
||||||
|
this.setTemp(newTemp);
|
||||||
|
return this.getTemp();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue