diff options
-rw-r--r-- | House.cpp | 2 | ||||
-rw-r--r-- | Temparray.cpp | 16 | ||||
-rw-r--r-- | Temparray.h | 18 |
3 files changed, 29 insertions, 7 deletions
@@ -480,7 +480,7 @@ void House::controller(){ ++time; if(time > 23){ - std::cerr << day << std::endl; + //std::cerr << day << std::endl; time = 0; ++day; } diff --git a/Temparray.cpp b/Temparray.cpp index f2c8fb8..dfc001e 100644 --- a/Temparray.cpp +++ b/Temparray.cpp @@ -438,7 +438,7 @@ void Temparray::calcTemp(){ mergetemperature(); coloring(); // std::cerr << temperaturenew(2, 2, 2, 1, 2) << std::endl; - std::cerr << temperaturenew(2, 2, 2, 2, 2) << std::endl; +// std::cerr << temperaturenew(2, 2, 2, 2, 2) << std::endl; // std::cerr << temperaturenew(2, 2, 2, 3, 2) << "\n" << std::endl; // std::cerr << " " << temperatureold(2, 2, 2, 1, 2) << std::endl; // std::cerr << temperatureold(2, 2, 2, 2, 1) << " " << temperatureold(2, 2, 2, 2, 2) << " " << temperatureold(2, 2, 2, 2, 3) << std::endl; @@ -462,17 +462,21 @@ std::list<Triangle> Temparray::getTriangles(){ } void Temparray::coloring() { + calcAverage(); float r[4], g[4], b[4]; for(int i=0; i<sx; ++i){ for(int j=0; j<sy; ++j){ for(int k=0; k<sz; ++k){ for(int l=0; l<6; ++l){ for(int m=0; m<4; ++m){ - if(temperatureold(i, j, k, l, m) >= 50 ) b[m]=0; - else b[m]=1/(50-temperatureold(i, j, k, l, m)); - g[m]=fabs(1/(50-temperatureold(i, j, k, l, m))); - if(temperatureold(i, j, k, l, m) <= 25 ) r[m]=0; - else r[m]=1/(100-temperatureold(i, j, k, l, m)); + if(temperaturenew(i, j, k, l, m) <= averagetemp/2) b[m] = 1; + else if(temperaturenew(i, j, k, l, m) < averagetemp) + b[m] = 1/(averagetemp/2+temperaturenew(i, j, k, l, m)); + + g[m]=0; + + if(temperaturenew(i, j, k, l, m) >= 100-averagetemp/2) r[m] = 1; +// r[m]=0; } cubehole(i, j, k, l).setColor(vmml::vec4f(r[0], g[0], b[0], 1.0), vmml::vec4f(r[1], g[1], b[1], 1.0), diff --git a/Temparray.h b/Temparray.h index ac96c04..0886c9d 100644 --- a/Temparray.h +++ b/Temparray.h @@ -57,6 +57,24 @@ class Temparray } earthtemp=8; } + void calcAverage(){ + float tempcache = 0; + int times = 0; + for(int i=0; i<sx; i++){ + for(int j=0; j<sy; j++){ + for(int k=0; k<sz; k++){ + for(int l=0; l<6; l++){ + for(int m=0; m<4; m++){ + tempcache += temperaturenew(i, j, k, l, m); + ++times; + } + } + } + } + } + averagetemp = tempcache/times; + std::cerr << averagetemp << std::endl; + } }; #endif /* _TEMPARRAY_H_ */ |