This article may be too technical for most readers to understand.(July 2009) |
Radiosity գլոբալ լուավորության ալգորիթմ է, որը օգտագորթվում է 3D համակարգչային գրաֆիկայի մատուցմում:Radiosity վերջավոր տարրերի մեթոդի կիրառումն է , մատուցման հավասարման լուծունը հարթ մակերաեսով տեսարանի համար: Ի տարբերություն Monte Carlo մեթոդի(օրինակ ուղղու հետևում), որը լուծում է բոլոր տեսակի լուսավոր ուիները,տիպիկ Radiosity մեթոդը միայն հաշվում է ուղղիների համար , որոնք թողնում են լուսավոր մակերես և արացոլվում են ժամանակի որոշակի հատվածում նախքան աչքին հարվածելը:Այդպիսի ուղիները ներկայացվում են որպես "LD*E":Radiosity հաշվարկները անկախ տեսակետներ են , որոնք առաջացնում են ներգրավված հաշվարկներ, բայց ստիպում են նրանց լինել օգտակար բոլոր տեսակետներից: Radiosity մեթոդները առաջին անգամ զարգացվել են 1950-ական թթ., ջերմատեխնիկայում:Ավելի ուշ նրանք զտվեցին հատուկ մատուցման խնդիրների դիմման համար համակարգչային գրաֆիկայում 1984թ. Քորնելի համալսարանի հետազոտողների կողմից . Քենդի Գորալ, Քեննետ Ե Տորրենս, Դոնալդ Պ. Գրինբերգ և Բ. Բեթթլ:Modeling the interaction of light between diffuse surfaces",, Համակարգչային գրաֆիկա, Vol. 18, No. 3.</ref> Նշանավոր Radiosity շարժիչները լուսավորվել են երկրաչափությունում , ինչպիսիք են Battlefield 3, Need for Speed: The Run, և ուրիշներ: Լուսային տեսարան – Autodesk 3D, Form-Z, Render Zone Plus` Autodesk-ի կողմից:Լուսային ալիքներ 3D-ում և EIAS-ում:
Վիզուալ բնութագրեր
editRadiosity-ի հաշվարկների ընդգրկումը տրամադրման գործընթացում հաճախ տալիս է ռեալիզմի տարրեր պատրաստի տեսարանին , շնորհիվ այն բանի , որ կրկնօրինակում է ռեալ աշխարհի երևույթները:Քննարկենք մի պարզ սենյակի տեսարան: Ձախ կողմի նկարը տպիկիկ անմիջական լուսավորման ցուցանմուշ է: Կա 3 տիպի լուավորում. այս տեսարանում ,որը մասնավորապես ընըրված է և տեղադրված է արտիստի կողմից, ռեալիստական լուսավորման միտում կա. վատ լուսավորում ստվերներով(տեղադրված է պատուհանից դուրս, հատակին լույսը գցելու համար), շրջապատող լուսավորում և ուղղորդված լուսավորում առանց ստվերների:
Աջ կողմի նկարում ցուցադրված է radiosity ալգորիթմի օգտագործումը:Կա միայն մեկ լույսի աղբյուր. երկնքի պատկերը գտնվում է պատուհանից դուրս:Տարբերությունները նշված է:Սենյակը լուսավորվում է լույսով: Հատակի վրա տեսանելի են թեթևակի ստվերներ և նուրբ լոիսային էֆեկտները նկատելի են ողջ սենյակում : Ավելին , գորգի կարմիր գույնը արտապատկերվում է մոխրագույն պատերի վրա, տալով դրանց փոքր ինչ ջերմ տեսք: Այս էֆեկտներից ոչ մեկը հատու ընտրված և մշակված չէ արտիստի կողմից:
Radiosity ալգորիթմի նկարագրությունը
editՑուցադրող տեսարանների մակերեսները միմյանցից բաժանված են մեկ կամ ավելի փոքր մակերեսների : Տեսողական գործոնը հաշվարկվում է յուրաքանչյուր կտորի մասի համար:Տեսողական գործոնները (նաև հայտնի է ձևի գործոն) նակարագրող գործակիցներ են , թե ինչքան լավ հատվածները կարող են նայել մեկը մյուսին : Հատվածները որոնք շատ հեռու են միմյանցից կամ ուղղորդված անկյունում, հարաբերականորեն շեղված մեկը մյուսից , կունենան ավելի փոքր տեսարանի գործոններ: Եթե մյուս հատվածները մեկ ուղղու վրա են , տեսարանի գործոնները կնվազեն կամ կլինեն զրոյական , կախված նրանից օքուլյացիան մասնակի է թե անբողջական: Տեսարանի գործոնները օգտագործվում են որպես գործակիցներ ներկայացվող հավասարման գծային ձև , որը զիջում է հավասարումների գծային ձև , որը արտադրում է հավասարումների գծային համակարգ:Պրոգրեսիվ radiosity –ին լուծում է համակարգը:Այսպես , ամեն բազմակրկնությունից հետո, մենք ունենք միջանկյալ radiosity արժեքներ հատվածների համար : Այդ միջանկյալ հատվածների արժեքները համապատասխանում են ցատկումային մակարդակներին : Այսինքն մեկ բազմակրկնությունից հետո մենք իմանում ենք լույսի մեկ ցատկից, հետո ինչպես է նայվում տեսարանը, հետո երկու անգամ երկու ցատկ և այլն: Պրոգրեսիվ radiosity-ն օգտակար է տեսնելու միջանկյալ տեսարանի տեսքը :Նաև օգտվողները կարող են դադարեցնել բազմակրկնությունը, անագմ եթե պատկերը բավականին լավ է նայվում , այլ ոչ թե սպասել թվային զուգամիտությունների հաշվարկին:
Մյուս տարածված մեթոդը,radiosity հավասարումը լուծելու համար “ կրակող radiosity” –ն է որը բազմակրկնորեն լուծում է radiosity հավասարումը “ կրակելով” լույսը հատվածից, յուրաքնչյուր քայլին ամենաշատ սխալներով:Առաջին անցումից հետո , միայն այն հատվածները , որոնք լույսի անմիջական գծի վրա են , արձակվող հատվածը կլուսավորվի :Երկրորդ անցումից հետո ավելի շատ հատվածներ կդառնան լուսավոր , քանի որ լույսը սկսվում է ցատկից տեսարանի շուրջը: Տեսարանը շարունակում է ավելի և վերջիվերջո հասնում է կայուն վիճակի:
Մաթեմատիկական ձևակերպումները
editՀիմնական radiosity մեթոդն ունի իր հիմքերը ջերմային ճառագայթման տեսության մեջ , սկսած նրանից որ radiosity –ին լույսի էներգիայի ծավալի փոխանցումը մակերեսների մեջ հաշվելու վրա: Հաշվարկները պարզեցնելու նպատակով , մեթոդը ենթադրում է , որ բոլոր սփռումները անթերի ջևով ցրված են: Հետո այս բրիքդաունը լույսի էներգիայի փոխանցման ծավալը կարող է հաշվարկվել օգտագործելով հայտնի արտացոլվող հատվածի արտացոլումը համեմատում է 2 հատվածների երկրաչափական ուղղվածությամբ և կարելի է մտածել նաև ընհանուր հնարավորությունների արձակման տարածքի խմբակցություն , որը ընդգրկաված է երկրորդ հատվածում: Ավելի ճիշտ radiosity B մեկ միավոր տարածքի էներգիան է , լուսավորված հատվածի մակերեսին մեկ դիսկրետ ժամանակային ինտեվալում և արտանետված ու արտացոլված էներգիայի համադրությունն է :
որտեղ • B(x)i dAi x կետի շուրջ փոքր dAi տարածքում թողնված ընդհանուր էներգիան է • E(x)i dAi արտանետված էներգիան է • p(x) կետի արտացոլումն է • S նշանակում է , որ x' փոփոխականի ինտեգրումը տարածվում է տեսարանի ողջ մակերեսի վրա • r x -ի և x'-ի միջև ընկած հեռավորությունն է • θx և θx' – x և x' միջև գծով միաված անկյուններն են • Vis(x, x' ) տեսանելի ֆունկցիան է , սահմանված կարգով լինում է 1, եթե 2 կետերը և միմյանց տեսանելի են , և 0 եթե այդպես չէ
Եթե մակերեսները մոտավոր են կախված հատվածների սահմանված թվից , դրանցից յուրաքանչյուրը , որը վերցվել է ունենալեւ համար հաստատուն radiosity Bi և արտանետված pi , վերևի հավասարումը տալիս է radiosity դիսկրետ հավասարում:
որտեղ Fij երկրաչափական տեսարանի գործակիցներն են , j ճառագայթման և i հատվածում հաստատվելու համար: Այս հավասարումը կարող է հետո կիրառվել յուրաքանչյուր հատվածի համար: Հավասարումը մոնոխռոմատիկ է , այդ իսկ պատճառով գունավոր radiosity տրամադրումը պահանջում է յուրաքանչյուր պահանջվող մասի հաշվարկ:
Լուծման մեթոդները
editՀավասարումը ֆորմալ ձևով կարող է լուծվել , որպես մատրիցային հավասարում , վալով վեկտորի լուծում
Սա տալիս է ամբողջ«անվերջ ցուցակների» լուծում անմիջականորեն B -ին : Հավասառումը կարող է լուծվել ինտերատիվորեն , պարբերաբար կիրառելով միակ ցատկ վերևի թարմացման բանաձևով: Ֆորմալորեն սա մատրիցային հավասարման լուծում է Ջակոբսի կրկնության կողմից: Որովհետև ρi արտանետումները 1-ից ավելի քիչ են : Այս սխեման զուգամիտվում է արագորեն , որովհետև որպես կանոն պահանջվում է միայն բազմակրկնություն , ճիշտ պատասխան ստանալու համար: Մատրիցային հավասարումների լուծումների համար կարող են օգտագործվել օրինակ Gauss–Seidel մեթոդը , որտեղ նորացված են արժեքները յուրաքանչյուր հատվածի համար: Սա հայտնի է ոպես ալգորիթմի կրակող տարբերակ , ի տարբերություն հավաքող տարբերակի:Օգտագործելուվ տեսարանի գործոնի փոխադարձությունը Ai Fij = Aj Fji , թարմացված հավասարումը կարող է նաև ցրվել Fij տեսարանի գործոնի տեսանկյունից.
Երբեմն սա հայտնի է որպես “հզոր” ձևակերպում, դա հիմա յուրաքանչյուր էլեմանտի փոխանցման ուժն է , որը նորացվում է , այլ ոչ թե դրաradiosity –ն: Fij տեսարանի գործոնը կարող է ինքնիրեն հաշվվել տարբեր ձևերով: Վաղ մեթոդները օգտագործում էին կիսախորանարդներ(մշակվել է 1985թ.): Կիսախորանարդի մակերեսը բաժանվում էր պիկսելների(ինչպես քառակուսիների), որոնցից յուրաքանչյուր տեսարանի գործոն կարող էր վերլուծորեն հեշտությամբ հաշվարկվել: Ամբողջ ձևի գործոնը կարող էր լինել մոտավոր, ավելացնելով յուրաքանչյուր փոքր քառակուսիները: Կիսախորանարդների նախագծումը , որը կարող էր հարմարվել ստանդարտ մեթոդներից պոլիգոնների տեսանելիության որոշմանը նույնպես լուծում է միջամտվող հատվածների խնդիրը մասամբ: Սակայն այս բոլորի հաշվարկը բավականին թանկ է , քանի որ իդեալական ձևի գործոնները պետք է բխեն հատվածների ամեն հնարավոր զույգից , հանգեցնելով հաշվարկի աելացմանը , որպես հատվածների թվի ավելացում: Սա կարող է որոշակիորեն կրճատվել օգտագործելով բինար ծառ , նվազեցնելու համար ժամանակի անիմաստ ծախսը,որոշելով որ հատվածներն են ամբողջությամբ թաքնված մյուսներից ` բարդ տեսարանում: Նոր մեթոդները ներառում են ադապտիվ ինտեգրումը:
NIST Report NISTIR-6925, see also http://view3d.sourceforge.net/</ref>
Ստուգման մոտեցումներ
editԱյս թարմացումները կարող են գնահատվել ըստ ստուգման մեթոդների , առանց երբևիցե ստիպված լինելու հաշվելու գործոնը հստակորեն: 1990 – ակն թթ. Կեսերից սկսած նման ստուգման մոտեցումները եղել են մեթոդներ ամենաշատ օգտագործված գործնական radiosity հաշվարկների համար: Հավաքված ինտենսիվությունը կարող է գնահատվել ըստ արտադրող մի շարք նմուշների , մեկ միավորի շրջանակում , վերածվելով կիսագնդի:Ընդհանուր հավաքած ինտենսիվության գնահատումը դա միայն ռադիոսիթիների միացումն է հայտնաբերված յուրաքանչյուր ճառագայթներից: Համանման ձևով հզոր ձևակերպումները ուժը կարող են բաժանել արձակելով շատ ճառագայթներ, ճառագայթահարելով նույն ձևով և տարածելով ուժը յուրաքանչյուր տարրի միջև հավասարապես:Սա էապես նույն բաշխումն է , որը ուղին հետևող ծրագրով պետք է համեմատի հետ եկած ցրվող քայլի հետ:Այս մոտեցումը ինչ-որ չափով ներկայացնում է երկու տեխնիկաների միացում . հիմնական տարբերություններն են , որ radiosity տեխնիկան նպատակ ունի կառուցելու բոլոր տեսարանների մակերեսների փայլի բավականաչափ ճշգրիտ քարտեզ , այլ ոչ թե ուղղակի տվյալ պատկերի ներկայացունը:
Հաշվարկման ժամանակի նվազեցումը
editՉնայած իր հիմնական ձևերին radiosity –ին միտում ունի կվադրատորեն աճման ` ժամանակի հաշվարկման մեջ ավելացված երկրաչափությունով (մակերեսներ և հատվածներ) . սա չպետք է լինի միայն գործոն: Radiosity խնդիրը կարող է արտահայտվել որպես մատուցման խնդիր: Ամեն դեպքում հաշվարկվող հաշվարկման ժամանակը աճում է միայն հատվածների թվի հետ : Կառուցվածքային քարտեզի աղոտված տարածքները համապատասխանում են անկյուններին , միացումներին ու խորություններին և կիրառելով դրանք ինքնաորոշման կամ ցրված-քարտեզման միջոցով,radiosity –ին ինչպես հատավածի շփման ազդեցություն կարող է ստեղծվել սքանլայն ստանդարտի հետ :Radiosity լուծումները կարող են արծածվել իրական ժամանակում Lightmaps-ի միջոցով գործող համակարգչի էկրանի վրա, ստանդարտ երկրաչափական արագացման պարատուրայի հետ:
Առավելությունները
editRadiosity ալգորիթմի առավելություններից մակը այն է , որ այն համեմատաբար հեշտ է բացատրել և իրականացնել: Սա դարձնում է օգտակար ալգորիթմ ուսանողներին ուսուցանելու գլոբալ լուսավորման ալգորիթմի մասին :Տիպիկանմիջական լուսավորման տարածողները արդեն պարունակում են գրեթե ալգորիթմները (հեռանկարային վերափոծումները, կառուցվացքային քարտեզները, թաքնված մակերեսի հեռացումը) իրականացնելու համար radiosity-ն:Մաթեմատիկական ուժեղ ըմբռնությունը չի պահանջում հասկանալ և իրականացնել այս ալգորիթմը:
Սահմանափակումները
editՍիպային radiosity մեթոդները միայն հաշվում են LD*E ձևի լուսավոր հատվածները , հատվածները , որոնք սկսվում են լուսային տեսարանով և կատարում են բազմաթիվ ցատկեր նախքան աչքին հասնելը: Չնայած կան բազմաթիվ մոտեցումներ այլ լուսավորման ազդեցություններին ինտեգրվելու համար , ինչպես օրինակ հայելանման [1]և [2]փայլուն արտացոլումները , radiosity վրա հիմնված մեթոդները սովորաբար չեն լուծում ամբողջական մատուցման հավասարումը:
Հիմնական radiosity-ին նաև ունի խնդիր կարգավորելու հանկարծակի փոփոխությունները ` տեսանելիությունում (օրինակ բարդ եզրերով ստվերներ) կոպտության պատճառով: [3]
Տերմինալոգիայի մասին կարգաբերումներ
editRadiosity –ն թերևս առաջին մատուցման ալգորիթմն էր համատարած օգտագործմամբ, որը բացատրվում էր անուղղակի ցրված լուսավորմամբ:Ավելի վաղ տարածման ալգորիթմները , իչպես օրինակ Սպիտակեցնող –ոճի ճառագայթները հսկող , ունակ թին համակարգչային ազդեցությունների , օրինակ արտացոլումները , բեկումները և ստվերները , բայց չնայած լինելով ավելի գլոբալ երևույթներ , այս էֆեկտները հաճախ չէին նշվում որպես [[ “գլոբալ”[[ լուսավորում: Որպես հետևանք ,”գլոբալ լուսավորման” շփոթվում է “սփռված լուսավորման” հետ և “Radiosity”-ն էլ շփոթվում է “գլոբալ” լուսավորուման հետ, խոսակցականում: Radiosity մեթոդը ներկայիս համակարգչային գրաֆիկայի համատեքստում բխում է (և հիմնականում նույնն է) ջերմային փոխանցման radiosity մեթոդից: Այս համատեքստում radiosity մակերեսի վրա թողնված ընդհանուր ռադիացիոն հոսք է (երկուսնել արտացոլված և վերաճառագայթված):
Վկայակոչում
editԱրտաքին հղումները
edit- Radiosity Overview, from HyperGraph of SIGGRAPH (provides full matrix radiosity algorithm and progressive radiosity algorithm)
- Radiosity, by Hugo Elias (also provides a general overview of lighting algorithms, along with programming examples)
- Radiosity, by Allen Martin (a slightly more mathematical explanation of radiosity)
- RADical, by Parag Chaudhuri (an implementation of shooting & sorting variant of progressive radiosity algorithm with OpenGL acceleration, extending from GLUTRAD by Colbeck)
- ROVER, by Tralvex Yeap (Radiosity Abstracts & Bibliography Library)
- Radiosity Renderer and Visualizer (simple implementation of radiosity renderer based on OpenGL)
- Enlighten (Licensed software code that provides realtime radiosity for computer game applications. Developed by the UK company Geomerics)