您的位置:新文秘網(wǎng)>>畢業(yè)相關(guān)/畢業(yè)論文/文教論文/計(jì)算機(jī)/調(diào)研報(bào)告/>>正文

畢業(yè)論文:簡(jiǎn)易日照分析計(jì)算器的算法研究和軟件實(shí)現(xiàn)

發(fā)表時(shí)間:2013/7/8 16:09:33

畢業(yè)論文:簡(jiǎn)易日照分析計(jì)算器的算法研究和軟件實(shí)現(xiàn)

目錄

摘要: 3
關(guān)鍵詞 3
ABSTRACT 4
KEY WORDS 4
1 引言: 5
2 需求和可行性分析 5
3 日照分析計(jì)算器的基本原理: 5
3.1 太陽(yáng)赤緯Δ: 5
3.2 太陽(yáng)高度角。 6
3.3 太陽(yáng)方位角Β: 6
4 對(duì)日照分析模型的基本建模 6
4.1 對(duì)取光點(diǎn)的建模(HOUSE) 7
4.2 對(duì)遮擋建筑物的建模(OBSTACLE) 7
4.3 對(duì)太陽(yáng)光線(xiàn)的建模(SUNLIGHT) 7
5 本軟件中設(shè)計(jì)的相關(guān)類(lèi)的重要屬性和方法說(shuō)明: 7
5.1 COORDINATE類(lèi)(極坐標(biāo)) 8
5.2 DATE類(lèi)(日期) 8
5.3 TIME類(lèi)(時(shí)刻) 8
5.4 LOCATION類(lèi)(地理位置) 8
5.5 HOUSE類(lèi)(住房即采光點(diǎn)) 8
5.6 OBSTACLE類(lèi)(遮擋建筑物) 8
5.7 SUNLIGHT類(lèi)(日光) 9
5.8 SHADOW類(lèi)(日影) 9
5.9 DAYSHADOW類(lèi)(每日日照) 9
5.10 YEARSHADOW類(lèi)(年日照) 9
6 對(duì)單時(shí)刻日照情況的分析 9
6.1 太陽(yáng)赤緯計(jì)算公式的實(shí)現(xiàn): 9
6.2 太陽(yáng)高度角公式的實(shí)現(xiàn): 11
6.3 太陽(yáng)方位角公式的實(shí)現(xiàn)(SUNLIGHE類(lèi)中): 11
6.4 日影長(zhǎng)度的計(jì)算: 12
6.5 取光點(diǎn)特殊時(shí)刻的光照情況的判定: 12
4.5.1太陽(yáng)高度角小于等于0 13
4.5.2太陽(yáng)高度角為90度時(shí) 13
4.5.3無(wú)遮擋物情況 13
4.5.4太陽(yáng)光線(xiàn)方向與取光點(diǎn)取光方向垂直甚至于與取光方向相背 13
6.6 判定一般情況下日照: 14
4.6.1確定遮擋物中心的極徑s(Obstacle類(lèi)中) 14
4.6.2確定遮擋物四個(gè)角點(diǎn)的位置(Obstacle類(lèi)中): 14
4.6.3區(qū)分單雙面遮擋情況: 16
4.6.4單面遮擋情況下的日照分析: 17
4.6.5雙面遮擋情況的日照分析: 18
7 對(duì)取光建筑物日照分析的時(shí)間分析: 20
7.1 采樣時(shí)間間隔的選取 20
7.2 將日照分析拓展到一日,并統(tǒng)計(jì)特定日期的總?cè)照諘r(shí)間: 21
7.3 將日照分析拓展到一年,并統(tǒng)計(jì)特定年份的總?cè)照諘r(shí)間: 22
8 交互界面和使用實(shí)例 22
9 小結(jié) 23
10 本軟件使用說(shuō)明 25
參考文獻(xiàn): 26



摘要:本文旨在研究開(kāi)發(fā)一個(gè)可面向普通用戶(hù)的日照分析軟件中的關(guān)鍵算法,要求依據(jù)算法設(shè)計(jì)出的日照分析軟件實(shí)用簡(jiǎn)便快捷,且又有一定的可用性、精確性。文中對(duì)該類(lèi)軟件的需求背景作了簡(jiǎn)要闡述。從介紹一些日照分析中的關(guān)鍵概念和公式入手,經(jīng)由用開(kāi)發(fā)語(yǔ)言實(shí)現(xiàn)公式,到運(yùn)用公式分析住宅特定時(shí)刻日照環(huán)境,再到對(duì)住宅時(shí)間段內(nèi)日照環(huán)境的統(tǒng)計(jì)概述,最后將功能整合以供使用。本文中對(duì)日照的分析主要采用棒影法結(jié)合幾何計(jì)算方法對(duì)建筑物日照與否進(jìn)行判斷,然后加入時(shí)間參數(shù)進(jìn)行統(tǒng)計(jì)整合實(shí)現(xiàn)對(duì)住宅日照優(yōu)劣的判定。

關(guān)鍵詞:日照;采光;住宅環(huán)境;軟件算法


Abstract
This article aims to research and development of a regular user of sunshine for the key algorithm analysis software, algorithm design requirements based on analysis of software utilities out of the sunshine simple and quick, and has some availability, accuracy. In this article, the demand for this type of software are briefly described the background. Introduce some sunshine from the analysis of the key con
……(新文秘網(wǎng)http://www.jey722.cn省略2711字,正式會(huì)員可完整閱讀)…… 
的情況, 在分析中,本文將建筑物窗臺(tái)或稱(chēng)取光處建模為一個(gè)質(zhì)點(diǎn)。為使數(shù)據(jù)和公式中的角度相統(tǒng)一,也為了緊接著的各種相對(duì)位置的計(jì)算方便,不妨以取光點(diǎn)為坐標(biāo)原點(diǎn),以正南方向?yàn)樽鴺?biāo)極軸,以太陽(yáng)方位角的計(jì)量方法為模板建立極坐標(biāo)系,即以正南為0°,向西增加為正,向東減少為負(fù),最后合并于正北,為±180°。
4.1 對(duì)取光點(diǎn)的建模(House)
按照此方法可進(jìn)行取光點(diǎn)的建模,如下
1.取光方向,記為House.toward,為取光點(diǎn)方向即窗戶(hù)朝向在上述
坐標(biāo)系中的表示。
2.取光點(diǎn)高度在日照分析中參與的運(yùn)算簡(jiǎn)單,無(wú)需建立高度坐標(biāo),在本分析中,取光點(diǎn)高度記為h。
3. 取光點(diǎn)的地理位置統(tǒng)一在House.l中,l為L(zhǎng)ocation模型(模型內(nèi)容見(jiàn)附錄Location類(lèi)程序清單),記錄了當(dāng)?shù)亟?jīng)緯度。到此取光點(diǎn)的建模完成。
4.2 對(duì)遮擋建筑物的建模(Obstacle)
本文將遮擋建筑物簡(jiǎn)化為長(zhǎng)方體,以便于分析的實(shí)現(xiàn)且與實(shí)際常見(jiàn)的建筑物較為相符。建模如下:
1. 與取光點(diǎn)的水平方向關(guān)系;建模中仍以上述建立的極坐標(biāo)為坐標(biāo)系,
以障礙物中心為障礙物的實(shí)點(diǎn),建立角度,記為 Obstacle. direction。
2. 與取光點(diǎn)的水平距離:模型中仍以障礙物中心為障礙物的實(shí)點(diǎn),計(jì)算
該點(diǎn)與取光點(diǎn)的水平距離,記為Obstacle.s,由于這段距離中有部分位于建筑物中,不易測(cè)量,可由計(jì)算取得,故將Obstacle.s減去這部分處于建筑物中的距離后得到的可測(cè)量值記為Obstacle.distance
3. 障礙物的擺設(shè)方向:建模中以建筑物長(zhǎng)邊的面的朝向作為建模對(duì)象,
基準(zhǔn)仍為上述坐標(biāo)系,并規(guī)定以偏南面的長(zhǎng)面為取值對(duì)象,記為Obstacle. toward,即-90°4. 遮擋物的長(zhǎng)、寬、高分別記為Obstacle..length、Obstacle.width、
Obstacle.height。
4.3 對(duì)太陽(yáng)光線(xiàn)的建模(Sunlight)
本文中分析太陽(yáng)光線(xiàn)是視陽(yáng)光為平行直線(xiàn),建模如下:
1.太陽(yáng)光線(xiàn)的屬性受時(shí)間和地理位置的影響,建模中時(shí)間分兩項(xiàng)計(jì),
即日期Sunlight .date和每日的太陽(yáng)時(shí)Sunlight .time(具體見(jiàn)附錄Date類(lèi)和Time類(lèi)的程序清單),由于本文分析是地理位置是隨取光點(diǎn)而定的,故無(wú)需再為此建模
2.太陽(yáng)赤緯角、太陽(yáng)高度角、太陽(yáng)方位角分別記為Sunlight.declination、Sunlight.h、Sunlight.s
5 本軟件中設(shè)計(jì)的相關(guān)類(lèi)的重要屬性和方法說(shuō)明:

5.1 Coordinate類(lèi)(極坐標(biāo))
主要涉及極坐標(biāo)的創(chuàng)建、運(yùn)算和坐標(biāo)系轉(zhuǎn)換等
屬性:angle 極角, r 極徑
方法:Coordinate()、Coordinate(double a,double r) 創(chuàng)建方法
set(double a,double r) 用極坐標(biāo)值更改記錄
set(double a,double b,int i) 用點(diǎn)坐標(biāo)值更改記錄
getangle() 、 getr() 獲取屬性值
5.2 Date類(lèi)(日期)
主要涉及日期的創(chuàng)建、運(yùn)算
屬性:year 年份、month 月份、day 日、 date 積日(即一年中的第幾天)
方法:Date(int y,int m,int d) 一般創(chuàng)建方法
Date(int y,int date) 用年和積日的創(chuàng)建方法,只有年和積日兩個(gè)屬性可用
getdate()、getyear() 獲取積日和年份屬性值
5.3 Time類(lèi)(時(shí)刻)
主要涉及時(shí)間的創(chuàng)建、運(yùn)算等,為24小時(shí)制
屬性:hour 時(shí)、minute 分、second 秒 time 小數(shù)計(jì)時(shí)間
方法:Time(int y,int m,int d) 一般創(chuàng)建方法
Time(float t) 用小數(shù)計(jì)時(shí)間的創(chuàng)建方法,只有hour和time兩個(gè)屬性可用
gettime()、gethour() 獲取time和hour屬性
toString() 產(chǎn)生時(shí)間字符串
5.4 Location類(lèi)(地理位置)
主要涉及地理坐標(biāo)的創(chuàng)建等
屬性:latitude 緯度longitude 經(jīng)度
方法:getlatitude()、getlongitude() 獲取緯度值和經(jīng)度值
5.5 House類(lèi)(住房即采光點(diǎn))
主要涉及采光點(diǎn)模型的創(chuàng)建等
屬性:l 記錄住房的地理位置為L(zhǎng)ocation的對(duì)象
height 采光點(diǎn)高度 toward 采光方向,正南為0向西增加向東減少
方法:House(double latitude,double longitude,float h,double d) 創(chuàng)建方法
getlocation() 、getheight()、gettoward()獲取屬性值
5.6 Obstacle類(lèi)(遮擋建筑物)
主要涉及遮擋建筑物的創(chuàng)建、運(yùn)算等
屬性:lenght,width ,height遮擋物的長(zhǎng)寬高
direction 遮擋物相對(duì)采光點(diǎn)位角,正南為0,向西增加,向東減少
toward 遮擋物長(zhǎng)面朝向,正南為0,向西增加,向東減少
house 作為參照物的采光點(diǎn)
A,B,C,D遮擋物4個(gè)角點(diǎn)的極坐標(biāo)
s 遮擋建筑物與采光點(diǎn)的實(shí)際中心距離
方法:Obstacle(float lenght,float width,float height,double direction,double toward,float distance,House house) 創(chuàng)建方法
gethouse()、gets()、getdirection()、gettoward()、getlenght()、getwidth()、getheight()獲取屬性值
getminAngle() 求出做小極角角點(diǎn)
getma*Angle() 求出最大極角角點(diǎn)
getminr() 求出最小極徑角點(diǎn)
onlyface() 判斷是否是單面遮擋
getr(double angle) 求遮擋面上對(duì)應(yīng)極角的點(diǎn)的極徑
5.7 Sunlight類(lèi)(日光)
主要涉及實(shí)現(xiàn)天陽(yáng)數(shù)據(jù)的計(jì)算和陽(yáng)光模型的創(chuàng)建等
屬性:h 太陽(yáng)高度角、 s 太陽(yáng)方位角、 declination太陽(yáng)赤緯
time 時(shí)刻、date 日期
方法:Sunlight(Location l,Date d,Time t)創(chuàng)建方法
gettime()、getdate()、geth()、gets()、getdeclination()獲取屬性值
5.8 Shadow類(lèi)(日影)
主要涉及日影創(chuàng)建和單時(shí)刻日照分析等
屬性:obstacle遮擋建筑物對(duì)象 cover遮擋與否的判斷值
time 時(shí)間 date 日期
方法:Shadow(Date d,Time t,Obstacle o)創(chuàng)建方法
ifcover() 獲取cover值true為無(wú)日照,false為有日照

5.9 DayShadow類(lèi)(每日日照)
主要涉及對(duì)一天的日照統(tǒng)計(jì)等
屬性:time1[]記錄日照起始點(diǎn)、time2[] 記錄日照結(jié)束點(diǎn)
alltime 統(tǒng)計(jì)當(dāng)日總?cè)照諘r(shí)長(zhǎng)、n記錄日照時(shí)間段數(shù)目
date 日期、obstacle遮擋物
方法:DayShadow(Date d,Obstacle o)創(chuàng)建方法
getalltime() 獲取當(dāng)日日照時(shí)長(zhǎng)
toString() 生成描述字符串
5.10 YearShadow類(lèi)(年日照)
主要涉及對(duì)一年的日照統(tǒng)計(jì)等
屬性:year 年份、alltimeofyear 年內(nèi)日照時(shí)長(zhǎng)、n 本年天數(shù)
a,b,c,d記錄春秋分,夏至日,大寒日,冬至日日照時(shí)長(zhǎng)
obstacle遮擋建筑物信息
方法:YearShadow(int y,Obstacle o)創(chuàng)建方法
toString() 產(chǎn)生描述性字符串
6 對(duì)單時(shí)刻日照情況的分析
在本文的日照分析的基本方法是先判定單一時(shí)刻取光點(diǎn)的日照情況,而后加入時(shí)間參數(shù),從而對(duì)建筑物的日照時(shí)間進(jìn)行統(tǒng)計(jì),很明顯對(duì)但一時(shí)刻的日照情況的分析是本軟件的核心步驟,以下將單一時(shí)刻日照分析的實(shí)現(xiàn)做詳細(xì)分析。
6.1 太陽(yáng)赤緯計(jì)算公式的實(shí)現(xiàn):
按照上述太陽(yáng)赤緯角的公式用JAVA語(yǔ)言可表述為(Sunlighe類(lèi)中)
Double n=79.6764+0.2422*(d.getyear()-1985)-(int)((d.getyear()-1985) /4);
double T=d.getdate()-n;
double a=2*Math.PI*T/(365.2422);
declination=(0.3723+23.2567*Math.sin(a)+0.1149*Math.sin(2*a)-0.1712*Math.sin(3*a) -0.758*Math.cos(a)+0.3656*Math.cos(2*a)+0.0201*Math.cos(3*a))*Math.PI/(double)180;
其中declination即為原式中的太陽(yáng)赤緯δ,a為原式中的θ,a為原式中的θ,n為原式中的N0,T為原式中的t ,d.getdate()為原式中的n。
到此重心轉(zhuǎn)移到了積日d.getdate()的計(jì)算。積日得計(jì)算又涉及到平年和閏年得區(qū)分,按照規(guī)定能被400整除或能被4整除但不能被100整除的為閏年,否者為平年,閏年的2月有29天,平年的2月為28天,故d.getdate()的算法可如下進(jìn)行(Date類(lèi)中):
if(year%4==0&&year%100!=0||year%400==0){
switch (month){
case 1: date=day;break;
case 2: date=31+day;break;
case 3: date=31+29+day;break;
case 4: date=31+29+day+31;break;
case 5: date=31+29+day+31+30;break;
case 6: date=31+29+day+31+30+31;break;
case 7: date=31+29+day+31+30+31+30;break;
case 8: date=31+29+day+31+30+31+30+31;break;
case 9: date=31+29+day+31+30+31+30+31+31;break;
case 10: date=31+29+day+31+30+31+30+31+31+30;break;
case 11: date=31+29+day+31+30+31+30+31+31+30+31;break;
case 12: date=31+29+day+31+30+31+30+31+31+30+31+30;break;
}
} else{
switch (month){
case 1: date=day;break;
case 2: date=31+day;break;
case 3: date=31+28+day;break;
case 4: date=31+28+day+31;break;
case 5: date=31+28+day+31+30;break;
case 6: date=31+28+day+31+30+31;break;
case 8: date=31+28+day+31+30+31+30+31;break;
case 9: date=31+28+day+31+30+31+30+31+31;break;
case 10: date=31+28+day+31+30+31+30+31+31+30;break;
case 11: date=31+28+day+31+30+31+30+31+31+30+31;break;
case 12: date=31+28+day+31+30+31+30+31+31+30+31+30;break;
}
}
其中數(shù)據(jù)date即為原始公式中的n即積日,至此太陽(yáng)赤緯的計(jì)算得以實(shí)現(xiàn)。
6.2 太陽(yáng)高度角公式的實(shí)現(xiàn):
按照太陽(yáng)高度角的計(jì)算公式t=15°(n-12)和sinα=sin φ sin δ+cos φ cos δ cos t用程序可表達(dá)為(Sunlighe類(lèi)中):
double ta=15*(t.gettime()-12)*Math.PI/(double)180;
double sinh=Math.sin (l.getlatitude())*Math.sin(declination)
+Math.cos (l.getlatitude())
* Math.co ……(未完,全文共42340字,當(dāng)前僅顯示7616字,請(qǐng)閱讀下面提示信息。收藏《畢業(yè)論文:簡(jiǎn)易日照分析計(jì)算器的算法研究和軟件實(shí)現(xiàn)》
文章搜索
相關(guān)文章