Диффуз аксланиш ва таркалаётган ёруглик. Сидирга сиртлар шундай хусусиятга
эгаки, тушаётган ёруглик хар тарафга бир маромда ёйилади, яъни диффуз аксланиш хосил
булади. Шунинг учун бундай сиртларга кандай бурчак остида карасангиз хам, улар бир
хил равшанликка эга.
Бундай сиртлар учун Ламбертнинг косинуслар конуни уринли, унда тушаётган
ёруглик ва текисликка утказилган нормаль уртасида муносабат урнатилган.
Ёругликнинг ёритилганлиги куйидаги формула билан хисобланади:
Id=Ip*kd*cos(Q) (1).
I
p- интенсивлик;
kd- диффуз аксланиш коэффициенти (у текисликнинг материалига боглик булиб,
0-1 оралигидаги кийматни кабул киладиган константа);
cos(Q)- ёруглик йуналиши L ва нормал N орасидаги бурчак.
Агар L ва N нормаллашган булса, (1) ни скаляр купайтма куринишида ёзиш
мумкин.
_ _
Id=Ip*kd*(N*L) (2).
Буяш коидаси куйидаги куринишга эга:
_ _
I=Ia*ka+Ip*kd*(N*L) (3).
Ia*ka- бу текисликдан кайтаётган ёруглик микдори.
Ёруглик манбаини фойдаланувчининг нуктаи назари томонида жойлаштирган
кулай, бунда соялар буомайди, текисликка тушаётган нурлар параллел булади.
Агар бир хил текислик бир хил масофада турса, ва бир хил рангга буялса, уларни
ажратиш кийин булади, бундай холлардан кутулиш учун ёруглик энергияси тушаётган
текисликка ва кайтиб, манбага боргунча булган масофага тескари пропорционал равишда
камайишини хисобга олиш керак, бу масофани R десак:
_ _
I=Ia*ka+Ip*kd*(N*L)/R2 (3).
20
Бундай коидадан амалиётда фойдаланиш нокулай, чунки параллел проекцияда
R реал эффект олиш учун R2 ни (k+R) алмаштирамиз.
k- ихтиёрий константа булиб, реал тасвир чиккунча узгартирилади.
I=Ia*ka+Ip*kd*(N*L)/ (k+R) (3).
Ойнали аксланиш.
Хар кандаи яркирок сиртдан ойнали акс олиш мумкин. Масалан, кип-кизил
олмага ёруглик манбаи туширсак, ёруглик тушаётган жойи ок рангда куринади. Бу эффект
графикада ''светавой блик'' эффекти деб аталади. Олманинг бошка кисмларида диффуз
аксланиш булади. Агарда нуктаи назарни узгартирсангиз, ''световой блик'' хам силжийди.
Бундай текисликлардан ёруглик хар томонга бетартиб равишда таркалади. Баъзи
сиртлардан (масалан кузгу) ёруглик шундай кайтадики, тушиш ва кайтиш бурчаги бир хил
булади.
L
Фойдаланувчи аксланган нурни факат =0 бурчак остида куради. Идеал булмаган
сиртлар учун ошиши билан кайтаётган нурнинг интенсивлиги кескин камаяди.
Аксланаётган нурнинг ёруглик микдори тушиш бурчагига боглик. Аксланган нурнинг
микдорини W() десак, буяш конунини куйидагича ёзиш мумкин.
I=Ia*ka+(Ip/(r+k))[kd*cos()+W()cosn()]
Aгар кайтган нурнинг йуналиши ва нуктаи назарга йуналиш нормаллашган булса,
у холда _ _
cos= R*V
Куп холларда W() урнига ks олинади, ва у фойдаланувчининг хохишига караб
чикаётган чизманинг сифатига караб узгартириб туради.
21
_ _ _ _
I=Ia*ka+(Ip/(r+k))[kd *(L*N)+ ks(R*V)n]
RGB ранг моделидаги хар бир асосий ранг интенсивлиги куйидаги формула билан
хисобланади:
_ _ _ _
I=Iac*kac+(Ipc/(r+k))[kdc *(L*N)+ ks(R*V)n]
Худди шундай сарик ва бинафша ранглар учун формула ёзиш мумкин.
Шаффоф сиртларни моделлаштириш.
Баъзи бир сиртлар ёругликни узидан утказиш хусусиятига эга. Ёругликни
йуналтирилган равишда ва диффуз равишда утказиш мумкин.
Йуналтирилган равишда утказиш ойна, целлофанга ухшаш сиртларда руй беради.
Бундай сиртнинг нариги томонидаги объект аник куринади.
Диффуз равишда утказиш хирарок материалларга, масалан, муз катлами босган
ойнага нур тушаётганда хосил булади. Бандай сиртга тушаётган нурлар бетартиб равишда
хар тарафга кайтади. Сиртни нариги тарафидаги объект аник куринмайди.
Хар кандай шаффоф сиртга тушаётган нур текисликка тушгандан сунг синади.
Компьютер графикасида шаффоф сиртларни моделлаштирилаётганда шу синишни
хисобга олмаган маъкул. Тушаётган геометрик нурда ётган хамма объектлар шу нурда
чизилиши керак. Синишни хисобга олсак геометрик ва оптик нурлар бир-бирига мос
келмайди.
Б А
А- синган оптик нур
Б- синмаган геометрик нур.
Агар синишни хисобга олсак А объектни синган нур чизигида курамиз. Синишни
хисобга олмасак нурда Б объектни курамиз.
Шаффоф сиртларни молеллаштираётганда куринмайдиган кирраларни олиб ташлаш
алгоритмидан каторлаб анализ килиш алгоритмини куллаш мумкин. Бу алгоритм буйича
22
нуктаи назарга якин турган шаффоф объект анализ килинади. Орка томонда жойлашган
текисликлар хам мос равишда буяб борилади. Буяшда куйидаги коидани ишлатиш
мумкин:
I=kI1+(1-k)I2
агар k=1 булса текислик ёруглик ютмайди. k=0 булса текислик шаффоф булади.
Алгоритм Робертса
Алгоритм Робертса представляет собой первое известное решение задачи об удалении невидимых линий. Это математически элегантный метод, работающий в объектном пространстве. Алгоритм прежде всего удаляет из каждого тела те ребра или грани, которые экранируются самим телом. Затем каждое из видимых ребер каждого тела сравнивается с каждым из оставшихся тел для определения того, какая его часть или части, если таковые есть, экранируются этими телами. Поэтому вычислительная трудоемкость алгоритма Робертса растет теоретически, как квадрат числа объектов. Это в сочетании с ростом интереса к растровым дисплеям, работающим в пространстве изображения, привело к снижению интереса к алгоритму Робертса. Однако математические методы, используемые в этом алгоритме, просты, мощны и точны. Кроме того, этот алгоритм можно использовать для иллюстрации некоторых важных концепций. Наконец, более поздние реализации алгоритма, использующие предварительную приоритетную сортировку вдоль оси z и простые габаритные или минимаксные тесты, демонстрируют почти линейную зависимость от числа объектов.
Работа Алгоритм Робертса проходит в два этапа:
1. Определение нелицевых граней для каждого тела отдельно.
2. Определение и удаление невидимых ребер.
5.3.1. Определение нелицевых граней
Пусть F — некоторая грань многогранника. Плоскость, несущая эту грань, разделяет пространство на два подпространства. Назовем положительным то из них, в которое смотрит внешняя нормаль к грани. Если точка наблюдения – в положительном подпространстве, то грань – лицевая, в противном случае – нелицевая. Если многогранник выпуклый, то удаление всех нелицевых граней полностью решает задачу визуализации с удалением невидимых граней.
Для определения, лежит ли точка в положительном подпространстве, используют проверку знака скалярного произведения (l, n), где l – вектор, направленный к наблюдателю, фактически определяет точку наблюдения; n – вектор внешней нормали грани. Если (l, n) > 0, т. е. угол между векторами острый, то грань является лицевой. Если (l, n) < 0, т. е. угол между векторами тупой, то грань является нелицевой.
В алгоритме Робертса требуется, чтобы все изображаемые тела или объекты были выпуклыми. Невыпуклые тела должны быть разбиты на выпуклые части. В этом алгоритме выпуклое многогранное тело с плоскими гранями должно представиться набором пересекающихся плоскостей. Уравнение произвольной плоскости в трехмерном пространстве имеет вид
Do'stlaringiz bilan baham: |