obiekt
(x, y, z)
prosta rzutowania
! " # " $% & ' ( (
(piksela) ) *+ #" ( ,
#% %*' ,-.
" $% "%(-
"" #-$ " $ 12
• # ( ( wzajemnego usytuowania
(),-)") 0)
• 3( %%(,-/ %
)() " " )
( (0)
• charakterystyki powierzchni obiektu ( odbijania,
"")3)" "")(
powierzchni ),
• 3( %%("3" * #
/ 0)
• 3( %%("" #,
• ( %%3
obiektów na scenie,
4( "%'+1"$ .
4( "%'*%3 "$ & "%1 & '
lub kolor punktu (piksela) ?
4(" (11 " &.
monochromatycznym
• (- " )
• model dla obiektów o odbiciu dyfuzyjnym,
• model dla obiektów o odbiciu zwierciadlanym,
• model dla obiektów przezroczystych,
11.2.1.
6$ 2
1. 7 %*' ' % ""
(bezkierunkowe).
2. 8 "3 (- ''+
2
= ⋅ ⋅ Θ
gdzie
-
∈[ ]
,
! " "
obiekt
"#$%"&
6$ 2
1. 7 %*' ( ,- '+
( "%(3( (3
2. 8 "3 (""/'
matowa).
2
* -9
Θ
= ⋅ ⋅ Θ
-
∈[ ]
, !
jakiego wykonany jest obiekt
Θ - #
# "
badanym punkcie, Θ ∈[−
],
4 ( (1""%
() $"1'(
= ⋅ ⋅ ⋅
gdzie
- jednostkowy wektor normalny do powierzchni w badanym punkcie,
" "#
'
"#* %3"%(-
$ +-$ %('
(
: % %)(- '+ "
%% " " ( ,-
*+"
%(' # " #
modelu modelem poprzednim.
= ⋅ + ⋅ ⋅ ⋅
gdzie
-
przez powi ∈[ ]
.
Modyfikacja 2
(
6" )$ (%$ '
,-)+ '
%(' # " -"%(
.
= ⋅ + ⋅ ⋅ ⋅ ⋅
,- %( "3.
6"%()$
=
gdzie ' #+*"%,-
( ' "3
(% %$"%"- ' " % %3
wyników, bowiem:
• ' ' $ ) " * ""
($%3 "3)
• ' ' ) " * """
($%3 "3)
' **+" $1)
=
+
+
#" , , + %"
(
obserwatora
6" )$ (%$ '
) + " # '(
'
6'( "#* * (% #(
( ')%('+%""+"%%
" -%3 %1
*'+2
′ = ⋅ α
gdzie
#1 #( "3
od obserwatora,
α "%()('" #("%
na rysunku
α
""#$&
6$ 2
1. 7 %*' ( ,- '+
( "%(3( (3
2. 8 "3 ( '-$
-$%3( (3
; "
kierunek
obserwacji
Θ Θ
α
! % ( "3) *" "%
obserwatora tylko wtedy, gdy kierunek wektora
*" *(%"( ( ( .
%' * "( ) (-%
+"%"" '" "
"3*
Model Phong Bui Tuonga zwany modelem Phonga
= ⋅ + ⋅ [ ⋅Θ +(Θ)⋅ α]
gdzie
n ∈[ ]
,
(Θ) ('(+Θ )"*('*(Θ)
"*' *+ )(-" $%
$ %"1
=
⋅ + ⋅ ⋅ ( ⋅ ) + ⋅ ( ⋅ )
+*#%(( α
" $'+% %1 (
"3(+ 'α .
%'1$ '+" #(' α .
Przebieg funkcji α :
n = 1
n = 10
n = 200
n
!
$ n
!
4 $ → ∞ "%(' * "
"# $"&
$1 (- " "
,-)(- "''+*" (
Podstawy fizyczne:
8"%" '"' #(" ""% #
# # & % #"
Θ
Θ
η
Zjawisko jest opisane przez prawo Snella.
Θ =
η
gdzie
i + *(
"3" * "% #
(
8"% " ' " " " ""%+ %(* *'
-' " ) (- ' - #
" *
" 3" " " (%
'"% +%("%%
/" ""%1 02
nieprzezroczysty wielobok 2
przezroczysty wielobok 1
kierunek obserwacji
= − ⋅ +
⋅
gdzie
)
*
- )
∈[ ]
.
= - wielobok 1 nieprzezroczysty,
= - )
11. 3. Algorytmy cieniowania (rendering)
! " '"" #-%3( "
%""#*
11.3.1. ,
Algorytm:
1. ( " /( 0 -"*%3
"%1 ( " '
powierzchni obiektu (x,y,z).
2. Dla punktu (x,y,z) "1 wybrany model
"%1 %1 I
punktu.
3. % 1 ( "# " "+
%+
Zaleta:(1.
Wada:""1 " &
11.3.2. Algorytm cieniowania jednotonowego
! (% % +'(( (-
5 " '% ( %"(*
+ %1
1. # ( " ' % %"%1
%1 .
2. <"1*)% '+ (
+"# " "+ %+
Zaleta:( " &
Wada:' ( (-(%' (
" *+(*"
11.3.3. , " $
Gourauda )
! (% % +'(( (-
Algorytm:
1. ($ # "3( (- (
%"%1
= (
%>)
'(
+
% %"+ (- %3 )
(-%3 $% "3 (.
=
+
+
+
"% = ( %>)
"%1 %1
3. % 1"%"%3 (-)$%'+
#%%('+ ')*'+%-
"#
−
−
= ⋅
+ ⋅
−
−
−
−
= ⋅
+ ⋅
−
−
−
−
= ⋅
+ ⋅
−
−
gdzie % " "
kroku.
aproksymowane siatkami wieloboków
%#+'+=#(>) (*" (
" '+ %1"
Wada: nienaturalne obrazy w przypadkach odbicia
"3"%3
11.3.4. Algorytm interpolacji wektorów normalnych ( algorytm Phonga )
! (% % +'(( (-
Algorytm:
1. ! "%1 = (% > "3(-
wieloboków siatki tak samo jak w poprzednim
algorytmie.
2. % 1 "% "%3 (- $%'+
#% ('+ ' ; ' #'+
' ( % " (%
; %1 ( '%3 ( '
"" #
dla punktu wektora normalnego.
Zaleta:"" " "%$" #
algorytmu.
Wada:1$ " &