12. Modelowanie i wizualizacja tekstury 12.1. Co to jest tekstura ?
() =
obiekt
(x, y, z)
powierzchni obiektu.
!T(x,y,z) ?
1. Kolor punktu powierzchni obiektu
( ) = [ ]
2. Wektor normalny w punkcie powierzchni
() = () + ∆ ()
gdzie
() - wektor normalny obliczony z danych o geometrii powierzchni,
∆ ()' $%
3. ($# %%
( ) = [
]
gdzie
()' ($# %)$
rozproszonego,
()' ($# %)% # *+
()' ($# %)#%*+
,-)#%# $%(
12.2. Odwzorowania parametryczne w zagadnieniach wizualizacji tekstury
. T(x,y,z) w przestrzeni, w
(# $ ) % *%-
/# # 0%# #-
1 # # #
powierzchni (obiektu),
y
z
x(u,v)
y(u,v)
z(u,v)
v
(u,v)
u
x
0 #%!# #
parametrów.
y
z
v
T(u,v)
T(x(u,v),y(u,v),z(u,v))
u
x
funkcja dwóch zmiennych u i v
∈[ ]
∈[ ]
# $%+ 3 ) ! +
3 )#-
4# 0% %#56
Parametryzacja prosta
v
T(u,v)
(x,y,z)
u
Dla danego punktu (u,v) z przestrzeni parametrów,
3 ( # )# 0
odpowiedni punkt (x,y,z) na powierzchni obiektu.
4# 0 (x,y,z), a punkt (piksel)
$#*%#3 T(u,v).
v
T(u,v)
(x,y,z)
u
Dla danego punktu 7 8+ # 0
punktu (x,y,z) na powierzchni widocznego obiektu.
9 3 % ( # )#
0%%(u,v) w przestrzeni parametrów.
Punkt (piksel) $ #*% # 3
tekstury T(u,v) % # -
W zagadnieniu parametryzacji prostej wymagana jest
#! (5 # #+
natomiast w zadaniu parametryzacji odwrotnej
% (5 # -
12.3. Podstawowe problemy wizualizacji tekstur
• generowanie wzorca tekstury
• odwzorowania geometryczne
• filtracja tekstury
12.3.1 Generowanie wzorca tekstury
1# !0T(u,v) ?
9 0(% # * *
funkcji;
1. " ! #3T(u,v).
2. )0 330T(u,v)#3
%$%3+-)0 33
obraz.
3. 20T(u,v) 0#
wzorców.
" 30%# 03%6
• Modele okresowe
" ## %$*
*#3%-
:%33# !- #
# #*$ -
# #(# ## 0
) #$7)) 8-
Rozmieszczanie polega na losowaniu punktu
##%)) -
;)) !%# ##
skalowana.
"# $%&
v
u
• Modele oparte na procesach Markowa
Modele losowe.
" # $ ! (
:+(* +
# % % (
)#%*#-
# 0(%%#
iterowane.
"# $%&
Fraktal plazmowy (plasma fractal)
/$&
"# #5(7 3$%#
($#0% u,v8 ! 33 3
×
punktów.
% ()
# ! 5 #)##%+
% +#3% -
Algorytm:
Krok 1 3
## 0 )
7# #%*% *#$%
%%)5 8#-
v
u
Krok 2 # 0 %0 (
-< 3*
%)(% 3-
x
x
v
u
• .)#%) (np. ) 1. = 0′
2. .)# 0 ze wzoru
4
c =
−
⋅ ′ + ∑
⋅
c
(1
W
4
c ( x )) cc
Wc ( x ) ci
i =1
gdzie funkcja W(x) 03 #)*
• Obliczenie koloru punktu
1. = 0′
2. .)# 0 ze wzoru
= −
⋅′ + ∑⋅
=
przy czym, funkcja *3%
Krok 3-.# # 3 -
%*#+# 0
%##( # 3 +%
3*0* #%## -
.# 3 %3 ##
% #$!+ #3 #$%
# (+#W(x) i
.
12.3.2 Odwzorowania geometryczne 12.3.2.1 Parametryzacja w przestrzeni obiektu
/$&
.) % 3$ $%
($#0% -
"# $% &
1. Wielobok.
/$% 0+ # #5 0 #
$ ## #3x-y.
z
wielobok
v
u
y
x
tekstury
• Parametryzacja prosta
x = u
y = v
Ax + By + D
z = −
C ≠ 0
C
Równania dla parametryzacji prostej
=
=
= −
+
+
≠
*%#+;++' ($# (
$ ## # +( )-
Równania dla parametryzacji odwrotnej
=
=
2. Sfera
z
1
1
v
u
0
x
y
Równania dla parametryzacji prostej
=
π
− π
=
π
− π
=
− π
" # 0 # #$ %#3*
punkt (u,v) z przestrzeni tekstury w punkt (x,y,z) z
# ##0#7$%8-
"# $% &
1. Parametryzacja liniowa prosta.
/ ' 3 )(
$ -
) ! #0 3 3
#>!# #$+
[ ] = [ ]
=
[ ]⋅
# # !#P.
Wyznaczenie macierzy P%(36
Dane:
'#$(3
- trzy punkty w przestrzeni tekstury
Elementy macierzy P ## 0 #3#3 #
$% (5 -
?$% # &
+
+ =
+
+ =
+
+ =
/$% # 0.
/# $ $%( i .
2. Parametryzacja liniowa odwrotna.
< #>!# #$+
[x y z]= [u ⋅v u v ]
1 ⋅ 4
P ×3
# # !#O.
Elementy macierzy O # 0%)%
parametryzacji prostej.
# % %# )( (
#)#$(+-%## #
problemy. 4#3#*3) ! 03&
• %#$)((3 +) #)
(3() $(# #
%(3(+
• parametryzacja nieliniowa.
3. Parametryzacja nieliniowa
Parametryzacja dwuliniowa
[ ] = [ ⋅ ]
⋅ ×
Parametryzacja dwukwadratowa
[ ] = [ ]⋅×
W obu przypadkach, parametryzacja odwrotna
*#3# (5 -
/$&
## )3-
:*3 3!(# %&
1. .%#0 #3
100 punktów siatki
1000 pikseli ekranu
-.%## #3
1000 punktów siatki
100 pikseli ekranu
@-/*%!#) (
7$%%)8-
!"
A #*% *0 ( #
( % 0 3
03-
punkt wzorca tekstury
obraz piksela ekranu
v
1
2
3
4
u
0%)# ## 0
##30
punktach 1, 2, 3, 4 jej wzorca.
(problem trudniejszy)
9 0(% -
1. Nadpróbkowanie (oversampling)
• " %# 0 ##0-
• #0%#* ## 0
odpowiednie punkty w przestrzeni tekstury.
• ?% 0 %3#
ekranu.
Wada metody:
%! nadpróbkowania (liczby
#0+(%# 0 8-
9 0 0&
• %()# $3*0 3+
• nadpróbkowanie adaptacyjne,
• nadpróbkowanie stochastyczne.
-:% # 30
"# $%&
:% )#%*
Krok 1 " # #$ )#
przestrzeni tekstury.
przy pomocy filtru liniowego.
obraz piksela ekranu
v
=
∑∑ ⋅
∑∑
u
2
4
2
4
8
4
=
2
4
2
maska filtru
Krok 3 Wynik filtracji jest traktowany jako tekstura,
%%3 -
Problemy filtracji:
• )# ) !%+
• 30%#*
!%0)-