Professional Documents
Culture Documents
Slide Đồ Họa Máy Tính
Slide Đồ Họa Máy Tính
Slide Đồ Họa Máy Tính
\
|
=
1 0 0
0
2
1
0
0 0
2
1
1
M
|
|
|
|
|
|
.
|
\
|
=
1 0 0
2
1
2
1
0
0 0
2
1
2
M
|
|
|
|
|
|
.
|
\
|
=
1 0 0
2
1
2
1
0
4
1
0
2
1
3
M
tin li, chng ta lit k cc phn t ca ma trn
di dng danh sch
T = {m
11
, m
12
, m
21
, m
22
, m
13
, m
23
}
Slide 16 Faculty of Computer Science and Engineering - HCMUT
S DNG H HM LP TO HNH NH
L thuyt ca qu trnh copy
hnh nh nhp I = tp cc im mu en = {(x, y) sao
cho (x, y) c t mu en}
hnh nh xut = T1(I) T2(I) T3(I)
tng qut ha W(.) = T1(.) T2(.) T3(.)
khi lp i lp li thao tc a hnh nh xut vo ng
nhp th qu o ca I
0
, I
1
, I
2
... s hi t v mt hnh
nh gi l nhn t hp dn A
W(A) = A
A khng ph thuc vo hnh nh ban u
Slide 17 Faculty of Computer Science and Engineering - HCMUT
S DNG H HM LP TO HNH NH
Thc hin thao tc v ln lp th k
I
0
l mt ng gp khc
I
0
l mt im
V d: v l cy dng x
T1 = {0, 0, 0, .16, 0, 0};
T2 = {.2, .23, -.26, .22, 0, 1.6};
T3 = {-.15, .26, .28, .24, 0, .44};
T4 = {.85, -.04, .04, .85, 0, 1.6};
Slide 18 Faculty of Computer Science and Engineering - HCMUT
S DNG H HM LP TO HNH NH
void superCopier(RealPolyArray pts, int k)
{
int i, j;
RealPolyArray newpts;
if(k == 0) drawPoints(pts);
else for(i = 1; i <= N; i++)
{
newpts.num = N*pts.num;
for(j = 0; j < newpts.num; j++)
transform(affines[i],pts.pt[j], newpts.pt[j]);
superCopier(newpts, k-1);
}
}
Slide 19 Faculty of Computer Science and Engineering - HCMUT
S DNG H HM LP TO HNH NH
Slide 20 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
Slide 21 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
f(z) = z
2
+ c
vi gi tr ban u s, ta c qu o
d1 = (s)
2
+ c
d2 = ((s)
2
+ c)
2
+ c
d3 = (((s)
2
+ c)
2
+ c)
2
+ c
d4 = ((((s)
2
+ c)
2
+ c)
2
+ c)
2
+ c
(.)
2
+ c
d
k
s
f(.)
Slide 22 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
s v c c th l s phc
qu o hi t v qu o phn k
im c nh ca h thng tha mn
f(z) = z z
2
+ c = z
im c nh hp dn, im c nh y
c p p =
+
4
1
2
1
,
Slide 23 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
nh ngha:
vi s lun bng 0
im c nm trong M nu qu o ca 0 hi t
im c nm ngoi M nu qu o ca 0 phn k
Slide 24 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
c c nm trong tp M hay khng?
d
k
vt qua gi tr 2 th qu o phn k
thi gian d
k
vt qua gi tr 2 c gi l thi gian c tr
c nm trong M c thi gian c tr rt ln (Cn trn l Num)
int dwell(double cx, double cy){
#define Num 100
double tmp, dx = cx, dy = cy, fsq = cx * cx + cy * cy;
for(int count = 0; count <= Num && fsq <= 4; count++)
{
tmp = dx;
dx = dx * dx - dy * dy + cx;
dy = 2.0 * tmp * dy + cy;
fsq = dx * dx + dy * dy;
}
return count;}
(x + yi)
2
= (x
2
y
2
) + (2xy)i,
Slide 25 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
Xc nh mu cho im c
c nm trong M: t bng mu en
c nm ngoi M: float v = d/(float) Num;
glColor3f(v*v, v*v, 0.2);
d
cng mu
1
Num
en xanh
, vng
Slide 26 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
Xc nh s tng ng gia pixel trn mn hnh vi s
phc c
ca
s
|
|
|
|
.
|
\
|
+
+
+ = W
cols
j
P W
cols
i
P c
y x ij
2
1
,
2
1
Slide 27 Faculty of Computer Science and Engineering - HCMUT
TP MANDELBROT
for( j = 0; j < rows; j++)
for(i = 0; i < cols; i++)
{
tm s phc c tng ng vi pixel v tr i, j
xc nh thi gian c tr ca qu o
da trn thi gian c tr xc nh mu sc tng
ng
setPixel(i, j, color);
}
Slide 28 Faculty of Computer Science and Engineering - HCMUT
TP JULIA
cho c c nh, kho st cc gi tr khc nhau ca s
Tp Julia y : l tp hp tt c cc im khi u s
c qu o hi t.
v tp Julia
for( j = 0; j < rows; j++)
for(i = 0; i < cols; i++){
tm s phc s tng ng vi pixel v tr i, j
xc nh thi gian c tr ca qu o
da trn thi gian c tr xc nh mu sc tng
ng
setPixel(i, j, color);}
phi truyn c s v c cho hm dwell()
Slide 29 Faculty of Computer Science and Engineering - HCMUT
TP JULIA
Tp Julia J
c
: l ng bin ca tp Julia y K
c
Tin nh ca z:
Cc tin nh ca z c qu o ging nh qu o ca z
c z
a) b)
tin nh
ca s
Slide 30 Faculty of Computer Science and Engineering - HCMUT
TP JULIA
V tp Julia
do{
if(coin flip is head)
else
draw dot at z;
}while (not bored);
Tnh cn bc hai ca z = x + iy
, y>= 0
, y < 0
c z z + =
c z z =
ib a z + =
ib a z + = 2
| | x z
a
+
=
2
| | x z
b
=