summaryrefslogtreecommitdiffstats
path: root/Sun.h
diff options
context:
space:
mode:
Diffstat (limited to 'Sun.h')
-rw-r--r--Sun.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Sun.h b/Sun.h
new file mode 100644
index 0000000..218f7fa
--- /dev/null
+++ b/Sun.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_ */