diff options
author | Constantin Riß <constantin.riss@dre.de> | 2010-01-19 00:33:46 +0100 |
---|---|---|
committer | Constantin Riß <constantin.riss@dre.de> | 2010-01-19 00:33:46 +0100 |
commit | 4de0fc7184f74700b68f92ce2acbd54b39b4fedf (patch) | |
tree | 354e7cd36a3226f728a280e48deab49263f1f4d8 | |
parent | 0c90985b20e3d39d6d761614f4c73e0eefc54170 (diff) | |
download | c3d-4de0fc7184f74700b68f92ce2acbd54b39b4fedf.tar c3d-4de0fc7184f74700b68f92ce2acbd54b39b4fedf.zip |
Mit Sun.h erweitert.
-rw-r--r-- | House.cpp | 5 | ||||
-rw-r--r-- | House.h | 6 | ||||
-rw-r--r-- | Sun.h | 23 |
3 files changed, 30 insertions, 4 deletions
@@ -1,7 +1,8 @@ #include "House.h" -House::House (float inittemp0, int earthx0, int earthy0, int earthz0, float collectortemp0): - collectortemp(collectortemp0) { +House::House (float inittemp0, int earthx0, int earthy0, int earthz0, float collectortemp0, + float latitude0): + collectortemp(collectortemp0), latitude(latitude0) { Temparray temp0(inittemp0, earthx0, earthy0, earthz0); temp = temp0; } @@ -2,6 +2,7 @@ #define _HOUSE_H_ #include "Temparray.h" +#include "Sun.h" #include "Triangle.h" #include <list> #include <math.h> @@ -9,7 +10,8 @@ class House { public: - House(float inittemp0, int earthx0, int earthy0, int earthz0, float collectortemp0); + House(float inittemp0, int earthx0, int earthy0, int earthz0, float collectortemp0, + float latitude0); std::list<Triangle> getTriangles(){ std::list<Triangle> triangles = temp.getTriangles(); return triangles; @@ -17,7 +19,7 @@ class House private: Temparray temp; - float collectortemp; + float collectortemp, latitude; }; #endif /* _HOUSE_H_ */ @@ -0,0 +1,23 @@ +#ifndef _SUN_H_ +#define _SUN_H_ + +#include <math.h> + +class Sun +{ + public: + Sun(float latitude0): latitude(latitude0){}; + + float declination(int day) {return 23.4*sin(2*M_PI*(284+day)/365);} + float hourangle(float time) {return 15*(time-12);} + float evelationangle(int day, float time) {return asin(sin(declination(day)*M_PI/180)* + sin(latitude*M_PI/180)* + cos(hourangle(time)*M_PI/180)* + cos(declination(day)*M_PI/180)* + cos(latitude*M_PI/180)) + *180/M_PI;} + private: + float latitude; +}; + +#endif /* _SUN_H_ */ |