Реферат Курсовой по машинной графике на тему Фрактальные рельефы
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Èçîáðàæåíèå ìîæíî óñëîâíî ïðåäñòàâèòü â âèäå ìàññèâà òî÷åê 256õ256, ó êàæäîé èõ êîòîðûõ åñòü ñâîÿ öåëàÿ 8-áèòîâàÿ âûñîòà è öâåò. Èçîáðàæåíèå çàìûêàåòñÿ òàêèì îáðàçîì, ÷òî ôóíêöèÿ âûñîòû òî÷êè ñ êîîðäèíàòàìè (u,v) âîçâðàùàåò îäèíàêîâûå çíà÷åíèÿ â óãëàõ óñëîâíîé ñåòêè òî÷åê. Ò.å. w(0,0)=w(256,0)=w(0,256)=w(256,256). w(1,1)=w(257,257) è ò.ä.
Êîîðäèíàòû ïîâåðõíîñòè: (u,v) - êîîðäèíàòû, îïèñûâàþùèå ïîëîæåíèå íà ïîâåðõíîñòè. Ò.î. ïîâåðõíîñòü ìîæåò áûòü çàäàíà êàê ôóíêöèÿ âûñîòû h=w(u,v).
Ýêðàííûå êîîðäèíàòû: (x,y) - êîîðäèíàòû òî÷êè íà ýêðàíå.
Ãåíåðàöèÿ ïîâåðõíîñòè
Ïîâåðõíîñòü ãåíåðèðóåòñÿ ðåêóðñèâíûì ôðàêòàëüíûì àëãîðèòìîì.  äàííîì ñëó÷àå öåëåñîîáðàçíî âîñïîëüçîâàòüñÿ ðàçíîâèäíîñòüþ ôðàêòàëîâ, èìåþùåé îáùåå íàçâàíèå "ïëàçìà". Àëãîðèòì íà÷èíàåò ñâîþ ðàáîòó â òî÷êå (0,0) (ýêâèâàëåíòíî (256,0), (0,256), (256,256)). Àëãîðèòì îñíîâàí íà ðåêóðñèâíîì âûçîâå ïðîöåäóðû, êîòîðàÿ â êà÷åñòâå ïàðàìåòðîâ ïîëó÷àåò ðàçìåð è êîîðäèíàòû ïðÿìîóãîëüíîãî ó÷àñòêà ïîâåðõíîñòè. Âî âðåìÿ ïåðâîãî ñâîåãî âûçîâà îíà ïîëó÷àåò êîîðäèíàòû è ðàçìåð âñåé ïîâåðõíîñòè.
Ýòà ïðîöåäóðà ïîëó÷àåò âûñîòû òî÷åê èç óãëîâ ïðÿìîóãîëüíèêà, ïîëó÷åííîãî â êà÷åñòâå ïàðàìåòðà. Çàòåì ïîäñ÷èòûâàåòñÿ ñðåäíÿÿ âûñîòà òî÷åê, ëåæàùèõ íà îäíîì ðåáðå. Ðåçóëüòàò ñ ó÷åòîì äëèíû ðåáðà "çàïèñûâàåòñÿ" íà ïîâåðõíîñòü. Âûñîòà òî÷êè â öåíòðå ïðÿìîóãîëüíèêà ïîäñ÷èòûâàåòñÿ êàê ñðåäíåå ìåæäó âûñîòàìè ÷åòûðåõ âåðøèí è òàêæå ñ ó÷åòîì äëèí ðåáåð "çàïèñûâàåòñÿ" íà ïîâåðõíîñòü. Çàòåì ïðîöåäóðà âûçûâàåò ñåáÿ æå, ðàçáèâàÿ ïðÿìîóãîëüíèê íà ÷åòûðå ÷àñòè. Ïðîöåññ ïðîäîëæàåòñÿ äî òåõ ïîð, ïîêà äëèíà ðåáðà íå ñòàíåò ðàâíà äâóì ïèêñåëÿì.
Ïîâåðõíîñòü ïîëó÷àåòñÿ áîëåå ðåàëèñòè÷íîé, åñëè èñïîëüçîâàòü blur-ýôôåêò ïî ñëåäóþùåé ôîðìóëå:
w(u,v)=k1*w(u,v)+k2*w(u+3,v-2)+k3*w(u-2,v+4)
Êîýôôèöèåíòû k1, k2, k3 ïîäáèðàþòñÿ òàêèì îáðàçîì, ÷òîáû èõ ñóììà ðàâíÿëàñü 1.
Öâåò òî÷êè âûáèðàåòñÿ ïî ñëåäóþùåé ôîðìóëå:
Color = A*[ w(u+1,v)-w(u,v) ] + B
Êîýôôèöèåíòû À è Â ïîäáèðàþòñÿ òàêèì îáðàçîì, ÷òîáû áûëà èñïîëüçîâàíà âñÿ ïàëèòðà öâåòîâ.
Óñëîâíî òî, ÷òî áóäåò íà äèñïëåå ìîæíî ïðåäñòàâèòü òàê:
íåáî
ëèíèÿ ãîðèçîíòà
à
çåìëÿ êîîðäèíàòû òî÷êè à (0,0)
îñü õ íàïðàâëåíà âïðàâî, îñü ó - âíèç
Ïðåäïîëîæèì, íàáëþäàòåëü íàõîäèòñÿ â òî÷êå ñ êîîðäèíàòàìè (p,q,r), ãäå (p,q) - ýòî êîîðäèíàòû (u,v) ïîâåðõíîñòè, à r - ýòî âûñîòà.
Òåïåðü äëÿ êàæäîé ãîðèçîíòàëüíîé ëèíèè (v=const) áóäåì ìåíÿòü v â ïðåäåëàõ îò v=q+100 äî v=q è âûïîëíÿòü ñëåäóþùèå øàãè:
1. Ïîëó÷èòü ó-êîîðäèíàòó èç êîîðäèíàò íà ïîâåðõíîñòè (p,q,0), ò.å. ñäåëàòü ïåðñïåêòèâíîå ïðåîáðàçîâàíèå
íàáëþäàòåëü
r
P Çåìëÿ
q v
Äàëåå íóæíî íàéòè òî÷êó ïåðåñå÷åíèÿ ëèíèè, ñîåäèíÿþùåé Ð è íàáëþäàòåëÿ, ñ ýêðàíîì. Äàííîå ïðåîáðàçîâàíèå ïåðñïåêòèâû äåëàåòñÿ ïî ôîðìóëå:
y = r / (q-v).
2. Íóæíî ïîäñ÷èòàòü ìàñøòàáèðóþùèé êîýôôèöèåíò f, îò êîòîðîãî çàâèñèò êîë-âî îòîáðàæàåìûõ ïèêñåëåé ïî âåðòèêàëè - ÷åì äàëüøå v îò q, òåì îí ìåíüøå è íàîáîðîò. F äîëæíî ïîëó÷èòüñÿ òàêèì, ÷òîáû ïðè åãî óìíîæåíèè íà âûñîòó òî÷êè ïîëó÷àëîñü êîëè÷åñòâî ïèêñåëåé íà ýêðàíå.
3.Âûïîëíèòü âûøåîïèñàííûå äåéñòâèÿ äëÿ âñåõ u. (v=const)
4.Íà÷èíàÿ ñ ïîñ÷èòàííîé òî÷êè (u,v), ïåðåñå÷ü âåñü ýêðàí, óâåëè÷èâàÿ õ-êîîðäèíàòó è äîáàâëÿÿ ê u êîíñòàíòó ñ. Ò.î. êîîðäèíàòû (u+c,v) ÿâëÿþòñÿ â ýêðàííûõ êîîðäèíàòàõ (1,ó)
Ò.î., ÷åì äàëüøå íàõîäèòñÿ ñêàíèðóåìàÿ ëèíèÿ, òåì "ëåâåå" áóäåò íà÷èíàòüñÿ îòñ÷åò u è òåì áîëüøå áóäåò ñ è íàîáîðîò.