русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Лекция 11


Дата додавання: 2014-11-28; переглядів: 1362.


Жарықтандыру модельдері. Айналық және диффузиялық шағылулар. Гуро және Фонга әдісі.

Жарықтың заттармен өзара әрекеттестігін екі негізгі аспектіге бөлуге болады: бірыңғай ортада жарықты тарату және екі ортаның шекарасындағы жарықтардың өзара әрекеттестігі. Ваккумдағы жарықтың таратылу жылдамдығының ортадағы жарықтың таратылу жылдамдығына қатынасын ортасында жалтару коэффициенті (рефлекция индексі) деп атаймыз. Әдетте бұл коэффициент сәулесі толқынының ұзындығына тәуелді.

Орта сонымен қатар ол арқылы өтетін жарықты жұтуы мүмкін. Сонымен коэффициентімен берілген жарықтың экспоненциалды өшуі немесе сөнуі орын алады, мұнда l- ортадағы сәуле арқылы өтілген ара қашықтық , -ортаға тәуелді сөну коэффициенті.

Екі ортаның шекарасының өзара әрекеттестігі кезінде жарықтың шағылуы (отражение) және жалтаруы (преломление) болады.

Айналық шағылу

і шағылған сәуле бағытындағы Р нүктесіне түседі және келесі заңдылықпен анықталған берілген r векторының бағытында шағылады:

і векторы және r векторы n беттегі сыртқы нормаль векторы түсу бұрышы шағылу бұрышына тең болатындай бағытталған жазықтықта жатады (7.1-сурет). Барлық векторларды бірлік деп есептейтік. Сонда бірінші шарттан шығатыны r векторы және n векторының сызықтық комбинациясына тең, яғни олай болса , онда . Бұдан төмендегі формула алынады (7.1) (7.1) қатынасымен берілген вектор, бірлік болып табылады. N i   t 7.1-сурет

Диффузиялық шағылу

Идеалдық диффузиялық шағылу түскен жарықтың барлық жаққа бірыңғай қарқынды шашырауына сәйкес Ламберт заңымен заңымен бейнеленеді.

Идеалдық жалтару

і векторының бағытындағы Р нүктесіне түскен сәуле t векторының бағытындағы екінші ортаның ішінде жалтарады (7.1-сурет). Жалтару бір жазықтықта жататын i,n және t векторларына сәйкес Снеллиус заңына бағынады, ал бұрыштар үшін төмендегі қатыс орынды.

(7.2)

мұнда -орта үшін жалтару коэффициенті, ал -бұл өзі кіретін ортаға арналған.

i векторы үшін төмендегі өрнекті аламыз:

 

(7.2) қатысты төмендегідей көшіріп жазуымызға болады:

, мұнда , сонда немесе

Олай болса

, онда

(7.3)

векторын нормалау шартынан алатынымыз

 

Бұл қатысты (7.3) теңдіктен алсақ, төмендегіні аламыз:

, мұнда .

Физикалық пікірлерден екені белгілі. Екінші параметр төмендегі теңдеу арқылы анықталады.

, дискриминанты -ге тең. Бұл теңдеудің шешімі формуласымен беріледі және яғни , мұнда . Түбірдің астындағы өрнек теріс болған кездегі жағдай толық ішкі шағылуға сәйкес келеді.

Энергияның таралуы

Шағылу және жалтару кезіндегі энергияның таралуын қарастырамыз. Физика курсынан белгілі шағылған энергияның бөлігі Френель клэффициенті арқылы берілетіндігі.

(7.4)

(7.4) формуласы бейөткізгіштік (диэлекрический) материалдар үшін дұрыс. Бұл қатынастарды жазудың бірнеше басқа түрлері бар.

, мұнда .

Өткізгіштер үшін, әдетте төмендегі формулалар қолданылады:

мұнда -сөну индексі.

Көп жағдайда модельдер тығыз дөңес жақтардың жиынтығымен беріледі. Сондықтан кескіндерді құру кезінде модельдердің осы қарапайымдылығын пайдалану керек. Рендерингтің полигональды модельдерінде жетклікті жақсы нәтиже беретін қарапайым үш әдіс бар- тығыз бояу әдісі (метод плоского или постоянного закрашивания), Гуро әдісі және Фонго әдісі.

  1. Тұрақты бояу әдісі.

Бұл - үшеуінің ішіндегі ең қарапайымы. Мұнда жақтан кез келген нүкте алынады және оның жарықтылығы анықталады. Жарықтылық моделі ретінде әдетте модельдің қарапайым түрлері пайдаланылады.

(8.1)

немесе

(8.2)

Осымен алынған кескін ашық түспен бірден көрінеді.

 

  1. Гуро әдісі

Гуро әдісі бисызықты (билинейный) интерполяцияны пайдалану есебінен жарықтылықтың үздіксіздігін қамтамасыз етеді. тығыз жақ (8.1) берілсін. (8.1) немесе (8.2) формулаларын пайдаланып оның әрбір төбесіндегі жарықтылықтың мәнін табамыз.

Алынған мәнді арқылы белгілейміз.

жағын жол бойы сала отырып, қабырғалар айналасындағы мәндерді сызықтық интерполяциялау жолымен әрбір горизонталды кесіндінің соңындағы жарықтылықтың мәндерін табамыз.

Сонымен А нүктесіндегі (8.1-сурет) жарықтылық төмендегі формула бойынша есептеледі:

, Келесі кезектегі АВ кесіндісін салуда интенсивтілігін -дан -ға дейін сызықты өзгереді деп есептейік. Бисызықты интерполяцияның ұқсас әдісі графиктік жүйе қатарында, мысалы Ореn GL-де пайдаланылады. Гуро әдісі объект айналасында жарықтылықтың өрісінің үздіксіз құрылуына кепілдік береді, бірақ бұл өріс тегіс болмайды.   А В Р   8.1-сурет
  1. Фонга әдісі

Тегіс объект тегіс емес объектіден, яғни ондағы бетте нормаль бірлік векторлардың үздіксіз өрісі берілгенімен айрықшаланады.

Мұндай өрісті құруға тырысайық. Ол үшін жарықтылықтың мәніне емес, нормаль вектордың мәнімен бұрын жазылған бисызықты интерполяцияның процедурасын пайдаланамыз. Нәтижесінде нормаль вектордың үздіксіз өрісін аламыз, бұл векторлар әрқашанда бірлік болып табылмайды, нормалау қажет.

Бірлік нормаль векторлардың көмегімен алынған (8.1) немесе (8.2) формулалары бойынша нүктеге сәйкес келетін жарықтылықтың мәнін табамыз.

Фонга әдісі Гуро әдісіне қарағанда есептеуді көп қажет етеді. Нормал вектор мен жарықтылықты есептеу әрбір нүктеде жеке жүргізіледі.

Фонга әдісі Гуро әдістері келесі нүктеге параметрлердің мәнін есептеу үшін алдыңғы нүктедегі параметрлердің мәндерін пайдаланатын инкрементальды әдістер болып табылады.

Бұл әдістің сонымен қатар кемшіліктері де бар: кейбір жағдайларда бақылаушының жағдайына байланысты дұрыс нәтиже бермеуі де мүмкін.

8.2-суретте келтірілген жақтарды қарастырайық. Жақ шаршы болып табылады. Сандармен төбесіндегі жарықтылықтың мәндері белгіленген.

0     1 1     а) 8.2-сурет 1     0 0     б)

 

Шаршының ортасындағы жарықтылықтың мәнін табамыз. Осындай бақылау бойынша 8.2 а) суретте бұл мән 1-ге тең, егер жақты нормаль векторды айналдыра 900 –қа бұрсақ (8.2 б)-сурет), онда ол 0-ге тең.

Ескерту. Гуро және Фонга әдістері көпжақты төбелерінде берілген тек қана нормаль векторларды пайдаланады.

әдетте төбедегі нормаль векторды табу үшін жақтардағы нормаланған нормаль векторлардың қосындысы пайдаланылады:

Бақылау сұрақтары.

1. Айналық шағылу дегеніміз не?

2. Диффузиялық шағылу дегеніміз не?

3. Энергияның таралуы дегеніміз не?

4. Тұрақты бояу әдісінің ерекшклігі?

5. Гуро әдісіне сипаттама?

6. Фонга әдісі сипаттама?

 


<== попередня лекція | наступна лекція ==>
Лекция 10 | Лекция 12


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн