Sun Position Calculator
Using the equations on the previous page, the position of the sun in the sky can be determined from the observer's location and the time of day. In the top blue squares, enter the observer's location and time of day.
Time and Date
The time is given as 24 hour time and the minutes are entered separately. Thus for 5:15 pm, enter 17 in the hour box and 15 in the minute box.
Longitude, Latitude and Time Zone (GMT)
Longitude, latitude and time zone of locations throughout the world are available at www.timeanddate.com. Minutes of longitude and latitude are entered as fractions, so 17° 30' becomes 17.5. Enter locations with an west longitude as negative. For daylight saving (summer time), subtract 1 hour from the given values. Generally speaking, locations east of Greenwich (UK) are positive and locations west of Greenwich are negative.
There are other services that will determine your approximate latitude and longitude from your IP address. For example ip2location.com.
The graph on the right shows the position of the sun's azimuth and elevation angles projected onto a two-dimensional plane. An elevation angle of 90° corresponds to the stage when the sun is directly overhead and appears in the centre of the graph. An elevation angle of 0° corresponds to the point when the sun is on the horizon, and appears on the outer edge of the graph. The azimuth angles are marked around the graph's edge, so an azimuth angle of 0° is at the top of the graph. The graph is best understood by trying a number of times and locations and seeing where the azimuth and elevations are plotted(
).
Explanation of polar plots
The most convenient way to plot the sun's position throughout the day is on a polar plot. Click on the animation for an explanation of these polar plots.
Comments
Sun Position Calculator
Sun Position Calculator
Reason: Edit
-
pveducation
- Site Admin
- Posts: 200
- Joined: 12 Jul 2010, 19:14
- Location: Tempe AZ, USA
Re: Sun Position Calculator
My Azimuth angle is coming out as imaginary number
- MySchizoBuddy
- Registered User
- Posts: 30
- Joined: 20 Aug 2010, 06:03
Re: Sun Position Calculator
- MySchizoBuddy
- Registered User
- Posts: 30
- Joined: 20 Aug 2010, 06:03
Re: Sun Position Calculator
- stuart
- Site Admin
- Posts: 49
- Joined: 16 Jul 2010, 21:13
Re: Sun Position Calculator
I made my charts in mathcad and there are some differences between your Azimuth angles and mine
- MySchizoBuddy
- Registered User
- Posts: 30
- Joined: 20 Aug 2010, 06:03
Re: Sun Position Calculator
MySchizoBuddy wrote:can you share the actionscript code of the sun position calculator.
I made my charts in mathcad and there are some differences between your Azimuth angles and mine
Here is the code:
import fl.events.*;
const toDeg = 180/Math.PI;
const toRad = Math.PI/180;
var alt:Number = 0;
var azi:Number = 0;
var B:Number = 0;
var A:Number;
var EoT:Number;
var dayNo:Number;
var LSTM:Number;
var LSoT:Number;
var LON:Number;
var LAT:Number;
var DEC:Number;
var H:Number;
var M:Number;
var HRA:Number;
var TimeCorrection:Number;
var xp:Number = 0;
var yp:Number = 0;
var L;
var e:Event;
var i:Number;
var HH:Number;
var arcos:Number;
const x0:Number = 445;
const y0:Number = 255;
var arccos:Number;
var sunrise:Number;
var sunriseM:String;
var sunriseH:String;
var sunset:Number;
var sunsetM:String;
var sunsetH:String;
var container:Sprite = new Sprite();
addChild(container);
s_lat.addEventListener(SliderEvent.THUMB_DRAG,s_latChange);
function s_latChange(e:SliderEvent):void {
Latitude.value = e.value;
graphSun();
}
s_time.addEventListener(SliderEvent.THUMB_DRAG,s_timeChange);
function s_timeChange(e:SliderEvent):void {
Hour.value = Math.floor(e.value);
Minute.value = (e.value-Hour.value)*60;
graphSun();
}
s_day.addEventListener(SliderEvent.THUMB_DRAG,s_dayChange);
function s_dayChange(e:SliderEvent):void {
var A:Number;
A = e.value;
trace(A);
if (A <= 31) {
Month.selectedIndex = 0;
Day.value = A;
} else if (A <= 59) {
Month.selectedIndex = 1;
Day.value = A-31;
} else if (A <= 90) {
Month.selectedIndex = 2;
Day.value = A-59;
} else if (A <= 120) {
Month.selectedIndex = 3;
Day.value = A-90;
} else if (A <= 151) {
Month.selectedIndex = 4;
Day.value = A-120;
} else if (A <= 181) {
Month.selectedIndex = 5;
Day.value = A-151;
} else if (A <= 212) {
Month.selectedIndex = 6;
Day.value = A-181;
} else if (A <= 243) {
Month.selectedIndex = 7;
Day.value = A-212;
} else if (A <= 273) {
Month.selectedIndex = 8;
Day.value = A-243;
} else if (A <= 304) {
Month.selectedIndex = 9;
Day.value = A-273;
} else if (A <= 334) {
Month.selectedIndex = 10;
Day.value = A-304;
} else {
Month.selectedIndex = 11;
Day.value = A-334;
}
graphSun();
}
Month.addEventListener(Event.CHANGE, pChange);
Day.addEventListener(Event.CHANGE,pChange);
Longitude.addEventListener(Event.CHANGE, pChange);
Latitude.addEventListener(Event.CHANGE, pChange);
GMTOffset.addEventListener(Event.CHANGE, pChange);
Hour.addEventListener(Event.CHANGE, pChange);
Minute.addEventListener(Event.CHANGE, pChange);
function pChange(e:Event):void {
graphSun();
}
function toStr(n:Number,d:Number):String {
return String(Math.round(n * 100.0) / 100);
}
function graphSun():void {
container.graphics.clear();
container.graphics.lineStyle(1, 0xFF0000);
dayNo = Number(Month.value)+Day.value;
dayNumber.text = String(dayNo);
LON = Longitude.value;
LAT = Latitude.value*toRad;
H = Hour.value;
M = Minute.value;
//update the sliders
s_day.value = dayNo;
s_time.value = H + M/60;
s_lat.value = Latitude.value;
B = 360.0/365.0*(dayNo-81.0);
B = B*toRad;
EoT = 9.87*Math.sin(2*B)-7.53*Math.cos(B)-1.5*Math.sin(B);
EoT_text.text = toStr(EoT,2);
LSTM = 15.0 * GMTOffset.value;
TimeCorrection = 4.0*(LON-LSTM)+EoT;
TimeCorrection_text.text = toStr(TimeCorrection,2);
DEC = 23.45 * Math.sin (0.9863 *(284+dayNo)*toRad);
DEC_text.text = toStr(DEC,2);
DEC = DEC*toRad;
//Calculate the sunrise and sunset
A = -1 * (Math.sin (LAT) * Math.sin (DEC)) / (Math.cos (LAT) * Math.cos (DEC));
trace(A);
arccos = Math.atan(Math.sqrt(1-A*A)/A);
if (A < 0) {
arccos = arccos + Math.PI;
}
HH = (arccos)*toDeg/15.0;
sunrise = 12-HH-(TimeCorrection/60.0);
sunriseH = String(Math.floor(sunrise));
sunriseM = String(Math.round((sunrise-Math.floor(sunrise))*60.0));
if (sunriseM.length==1) {
sunriseM = "0" + sunriseM;
}
sunrise_text.text = sunriseH +":"+ sunriseM;
sunset = 12+HH-(TimeCorrection/60.0);
sunset_text.text = String(sunset);
sunsetH = String(Math.floor(sunset));
sunsetM = String(Math.round((sunset-Math.floor(sunset))*60.0));
if (sunsetM.length==1) {
sunsetM = "0" + sunsetM;
}
sunset_text.text = sunsetH +":"+ sunsetM;
if (A< -1) {
sunrise=0.01;
sunset = 25;
}
//sunsetH = string(integer(sunset-0.5))
//sunsetM = string(integer((sunset-sunsetH)*60.0))
//if (length(sunsetM)==1) { sunsetM = "0" & sunsetM}
//sunrise_text.text = sunsetH &":"& sunsetM
//container.graphics.clear()
//Calculate current sun position
LSoT = H +(TimeCorrection+M)/60.0;
HRA = 15.0 *(LSoT -12.0);
HRA_text.text = toStr(HRA,2);
HRA = HRA*toRad;
A = (Math.sin(DEC) * Math.sin(LAT)) + (Math.cos(DEC)*Math.cos(LAT)*Math.cos(HRA));
alt = Math.atan(A/Math.sqrt(1-(A*A)));
Alt_text.text = toStr(alt*toDeg,2);
A = (Math.cos(LAT)*Math.sin(DEC) - Math.cos(DEC)*Math.sin(LAT)*Math.cos(HRA))/Math.cos(alt);
azi = Math.atan(Math.sqrt(1-A*A)/A);
if (A < 0) {
azi = azi + Math.PI;
}
if (LSoT >12) {
azi = 2*Math.PI - azi;
}
Azi_text.text = toStr(azi*toDeg,2);
xp = (Math.PI/2-alt)*Math.sin(azi);
yp = (Math.PI/2-alt)*Math.cos(azi);
if (alt > 0) {
snorg.x = x0+450/Math.PI*xp;
snorg.y = y0-450/Math.PI*yp;
} else {
snorg.x = -1;
snorg.y = -1;
}
//draw graph of sunpath
for (i=sunrise; i < sunset; i=i+0.1) {
H = i;
LSoT = H +(TimeCorrection)/60.0;
HRA = 15.0 *(LSoT -12.0);
HRA = HRA*toRad;
A = (Math.sin(DEC) * Math.sin(LAT)) + (Math.cos(DEC)*Math.cos(LAT)*Math.cos(HRA));
alt = Math.atan(A/Math.sqrt(1-(A*A)));
A = (Math.cos(LAT)*Math.sin(DEC) - Math.cos(DEC)*Math.sin(LAT)*Math.cos(HRA))/Math.cos(alt);
azi = Math.atan(Math.sqrt(1-A*A)/A);
if (A < 0) {
azi = azi + Math.PI;
}
if (LSoT >12) {
azi = 2*Math.PI - azi;
}
xp = (Math.PI/2-alt)*Math.sin(azi);
yp = (Math.PI/2-alt)*Math.cos(azi);
if (H==sunrise) {
container.graphics.moveTo(x0 + 450 / Math.PI * xp,y0 - 450 / Math.PI * yp);
} else {
if (!isNaN(xp)) {container.graphics.lineTo(x0 + 450 / Math.PI * xp,y0 - 450 / Math.PI * yp)};
}
}
}
//graphSun();
- stuart
- Site Admin
- Posts: 49
- Joined: 16 Jul 2010, 21:13
Re: Sun Position Calculator
- JeanPaul007
- Registered User
- Posts: 1
- Joined: 16 Jan 2012, 15:58
скачать универ новая общага онлайн бесплатно в хорошем качес
скачать программу для скачивания музыки в контакте бесплатно и без регистрации скачать игры через торрент империя скачать mp3 плеер скачать бесплатно музыку европа новинки 2011 скачать mp3 haddaway whot about me скачать музыку реп ice-t 2008
скачать музыку без регистрации русский размер скачать бесплатно флеш плеер на компьютер скачать песни чижа скачать бесплатно звуки мелодии на смс шансон
скачать фильм v значит вендетта бесплатно скачать mine craft карты скачать обои для рабочего стола бесплатно рассвет скачать книги 4 редакции dungeons dragons 4
скачать фильмы бесплатно на высокой скорости скачать бесплатно музыку house скачать картинки бесплатно и без регистрации медведи скачать фильмы бесплатно торрент время ведьм
скачать музыку dj bazooka бесплатно скачать бесплатно картинки на рабочий стол мужчина и женщина скачать оперу бесплатно турбо скачать игры для компьютера на сайте rugor скачать игры стрелялки 2011 через торент
скачать бесплатно электронные книги фантастика скачать часы робочий стол скачать paint.net бесплатно без смс и регистраций
скачать песню бесплатно черная полоса mp3 скачать sms box полная версия бесплатно скачать видеоролик локоматива к новому сезону скачать finereader 8 с крэком бесплатно скачать бесплатно icq для nokia n82
скачать аудиокнигу старик и море скачать линейку для телефона скачать itunes 64 разрядную версию для iphone 3g скачать антивирус nod32 3.0 скачать mp3 goodbye скачать заставки мобильный телефон
скачать keygen автоспутник скачать бесплатно 2 гис астрахань скачать игры для nokia 3250 бесплатно скачать песни бесплатно ранетки скачать наша раша 3 сезон через торрент без регистрации
скачать бесплатно рингтоны для телефонов скачать opera mini 4 1 бесплатно скачать картинки котят скачать темы на телефон sony ericsson s500i скачать оперу бесплатно русском языке
скачать бесплатно лепс дом скачать торрент фильмы hdtv скачать бесплатно игры и темы для nokia 5230 скачать java книги голодные игры скачать музыку фильмы бесплатно без регистрации чере торрент
скачать бесплатно русификатор nero 8 скачать смайлики на аську скачать музыку одесса мама скачать видео драйвер бесплатно для windows 7
скачать фильмы а высокой скорости скачать гта од скачать музыку бесплатно без регистрации радио dfm чарт скачать скайп бесплатно мини игры алавар
скачать сериал knight rider 2008 скачать видео ролики на телефон скачать игры для nokia x2 бесплатно скачать темы на телефон х2
скачать эмуляторы скачать realtek semiconductor corp 5.686.103.2008 скачать бесплатно battlefield 3 без регистрации скачать видео клипы а.школин скачать бесплатно google planeta 2011
скачать бесплатно альбомы нагано скачать sak noel loca people джони лоханто эсто май лока скачать google на айфон 4g скачать promt magic
скачать игры еа пк скачать бесплатно light alloy для windows 7 скачать через торрент доярка из хацапетовки скачать epub бесплатно
скачать игру fifa 2011 украинская лига скачать новые песни 2011 армянские скачать windows 7 black spa торрент скачать 12 книг сага о дарране шэне
- totaEdide
- Registered User
- Posts: 151
- Joined: 13 Jan 2012, 05:07
an resolve them, then this latter is to line on account of b
Being in debt could be a chance to learn within the sense that it would coach you on the way to get wise with your money. However, you will surely still find it quite difficult to control things yourself in case your monetary troubles become acute. Unwise financial decisions like indiscreet use of bank card and pay day loan can frequently help make your financial situation alarming. You need not worry though. If you are struggling to cover your bills then consider taking help from the professional debt help services available online. The federal government now offers limited aid to you by means of with federal debt help programs like direct consolidation loans.
Today, several credit card debt relief programs will aid you to resolve the debt are available up with solutions like credit card debt relief and cash advance debt help. These programs would enable you to help make your debt more manageable, eventually making you out of debt. Once you choose these programs, you are thoroughly analyzed as well as an option that is certainly the most suitable for you personally is suggested.
We at OVLG profit the clients to get free of debt with easy debt settlement programs. Are mainly the alternatives that people offer to the clients:
Ask yourself these questions…
Shall I recieve eliminate annoying creditor calls?
Can the high interests on my small debts be reduced?
Should i pay extra taxes easily enroll in a debt relief program?
Compare debt relief options »
brian ofsie
brian ofsie
vanguard funding
vanguard funding
vanguard funding
vanguard funding
tv commercials
-
Semmayope
- Registered User
- Posts: 10
- Joined: 21 Jan 2012, 02:33
- Location: Kyrgyzstan

