1. Trang chủ
  2. » Địa lý lớp 11

Bài giảng Đồ họa máy tính: Bài 2 - Lê Tấn Hùng

10 3 0

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

THÔNG TIN TÀI LIỆU

Nội dung

[r]

(1)

Bài 2:

Các gi

i thu

t sinh

các th

c th

c

ơ

s

(2)

Gi

i thu

t xây d

ng các

th

c th

c

ơ

s

„

Gi

i thu

t sinh

đườ

ng th

ng – Line

„

Gi

i thu

t sinh

đườ

ng tròn - Circle

„

Gi

i thu

t VanAken sinh Ellipse

„

Gi

i thu

t sinh

đ

a giác

(3)

R

i r

c hoá

đ

i

m

nh

(Scan Conversion rasterization)

„

Scan Conversion rasterization

„

Tính ch

t các

đố

i t

ượ

ng c

n

đả

m b

o :

„ smooth „ continuous

„ pass through specified points „ uniform brightness

(4)

Bi

u di

n

đ

o

n th

ng

„

Bi

u di

n t

ườ

ng minh

(y-y1)/( x-x1) = ( y2-y1)/( x2-x1)1 y = kx + m

„

Bi

u di

n không t

ườ

ng minh

(y2-y1)x - (x2-x1)y + x2y1 - x1y2 = 0 hay rx + sy + t =

„ Biểu diễn tham biến P(u) = P1 + u(P2 - P1)

P(x1, y1)

P(x2 , y2)

(5)

Thu

t toán DDA

(Digital Differential Analizer)

Gi

i thu

t DDA

„ Với < k <

xi+1 = xi + yi+1 = yi + k với i=1,2,3

Giải thuật thông thường

DrawLine(int x1,int y1, int x2,int y2, int color)

{

float y; int x;

for (x=x1; x<=x2; x++) {

(6)

Gi

i thu

t Bresenham

„

1960 Bresenham thu

c IBM

„

đ

i

m g

n v

i

đườ

ng th

ng d

a

trên

độ

phân giai h

ư

u h

n

„

lo

i b

ỏ đượ

c phép toán

chia phép toán làm tròn

nh

ư

ta

đ

ã th

y gi

i thu

t

DDA

„

Xét

đ

o

n th

ng v

i < k < 1

0

0

(7)

Gi

i thu

t Bresenham

d

2

= y - yi = k(xi +1) + b - yi

d

1

= yi+1 - y = yi + - k(xi + 1) - b

d1 d2 yi

yi+1

A

(8)(9)

yi+1

( xi , yi) xi xi+1

Gi

i thu

t trung

đ

i

m-Midpoint

„ Jack Bresenham 1965 / Pitteway 1967

„ VanAken áp dụng cho việc sinh các đường

thẳng và đường trịn 1985

„ Các cơng thức đơn giản hơn, tạo được các

điểm tương tự như với Bresenham

„ d = F (xi + 1, yi + 1/2) trung điểm của

đoạn AB

„ Việc so sánh, hay kiểm tra M thay

bằng việc xét giá trị d.

„ Nếu d > điểm B chọn, yi+1 = yi

(10)

Bresenham’s Algorithm:

Midpoint Algorithm

„ If di > 0 then chọn điểm A ⇒ trung điểm có dạng:

Ngày đăng: 09/03/2021, 05:32