1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thảo luận Môn Đồ họa máy tính pps

8 399 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 118,5 KB

Nội dung

Tương tự thuật toán vẽ đường tròn, sử dụng thuật toán Bresenham để vẽ, ta chỉ cần vẽ 1/4 ellipse, sau đó lấy đối xứng qua các trục tọa độ sẽ vẽ được toàn bộ ellipse.

Trang 1

R

2

R

O

y

x

Trang 2

Begin

P = 5/4 - R

x = & y =

P8P(x, y, c)

Yes

P < 0 Yes

P = P + 2x + 3

No

P = P + 2(x - y) + 5

y = y - 1

x = x + 1

P8P(x, y, c)

End

No

) 2 /

(R

round

x 

2 /

R R / 2

Trang 4

Tương tự thuật toán vẽ đường tròn, sử dụng thuật toán Bresenham để vẽ, ta chỉ cần vẽ 1/4 ellipse, sau đó lấy đối xứng qua các trục tọa độ sẽ vẽ được toàn bộ ellipse.

Xét ellipse có tâm O, các bán kính là a và b, phương trình là :

Chọn tọa độ pixel đầu tiên cần hiển thị là (Xi ,Yi) = (0,b)

Cần xác định pixel tiếp theo là (Xi+1, Yi+1).

1

2

2 2

2

b

y a

x

a

b

y

O

x

Trang 5

i

y

i

x x i  1

i

y

1

d

2

d

Trang 6

1 2b

-a

2b P

b) (0, )

y , x

(

P

-) y -4(1 3)

(2x a

2b P

P do Khi 1.

-y y

chon Ta

: 0 P

Neu

-3) +

(2x a

2b P

P do Khi y y

chon Ta

: 0 P

Neu

-3) +

(2x a

2b + ) y -2(y ) )2 (y -)2 2((y

+ P P

3) +

(2x a

2b + ) y -2(y ) )2 (y -)2 2((y

P

-P

1) -(y y

-y -) (y d

-d

P

1) -(y -y

d

y -)

(y

d

1

y y

1 x

x

:

2

2 0

0 0

i

i i

2

2 i

1 i i

1 i i

i 2

2 i

1 i i

1 i i

i 2

2 i

1 + i i

1 + i i

1

i

i 2

2 i

1 + i i

1 + i i

1

i

2 i

2 2

2 i 2

1

i

2 i

2

2

2 2

i

1

i 1

i

i 1

i



 

i

y Co

Trang 7

Begin

P = 2(b*b)/(a*a)-2b+1

C1 = 2[(b*b)/(a*a)](2x+3)

C2 = 2[(b*b)/(a*a)](2x+3) + 4(1-y)

x = 0 & y = b

P4P(x, y, c)

1

2

2

y

x a

b

Yes

P < 0 Yes

P = P + C1

No

P = P + C2

y = y - 1

x = x + 1

P4P(x, y, c)

End No

Trang 8

P = 2(b*b)/(a*a)-2b+1

C1 = 2[(b*b)/(a*a)](2x+3)

C2 = 2[(b*b)/(a*a)](2x+3) + 4(1-y)

C3 = 2[(a*a)/(b*b)](2x+3)

C4 = 2[(a*a)/(b*b)](2x+3) + 4(1-y)

1

2

2

y

x

a

b

1

2

2

x

y b

a

Yes

P < 0

Yes

P = P + C1

No

P = P + C2

y = y - 1

x = x + 1

P4P(x, y, c)

x = 0 & y = b

P4P(x, y, c)

Yes

P < 0 Yes

P = P + C3

No

P = P + C4

y = y - 1

x = x + 1 P4P(x, y, c)

End

x = a & y = 0 P4P(x, y, c)

Ngày đăng: 07/08/2014, 20:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w