Tải bản đầy đủ

chuong 1b compatibility mode

ĐỒ HỌA RASTER

CÁC THUẬT TOÁN
VẼ ĐƯỜNG TRÒN

Giảng viên : Bùi Tiến Lên


Phân loại đường tròn
Đường tròn tâm O

O

Đường tròn tâm bất kỳ

O

Trang 2


Ứng dụng phép tònh tiến

Nếu (x, y) thuộc đường tròn tâm O
Thì (x + xc, y + yc) thuộc đường tròn tâm (xc, yc)

(xc, yc)
(x+xc, y+yc)

O
(x, y)

Trang 3


Phöông trình ñöôøng troøn

r
O

x2 + y2 = r 2
y = r2 − x2

Trang 4


Tính đối xứng của đường tròn
Đường tròn có 4 trục đối xứng
-Trục Ox
-Trục Oy
-Trục phân giác thứ nhất
-Trục phân giác thứ hai

y

x

O

Trang 5


Ứng dụng tính đối xứng

Nếu (x, y) thuộc đường tròn
Thì (-x, y), (x, -y), (-x, -y), (y, x), (-y, x), (y, -x) và (-y, -x)
thuộc đường tròn
2

1

3

chọ
n
8

O
4

7

5

6

Trang 6


Vẽ cung một phần tám thứ nhất
Input
r bán kính
Output
{(x1, y1), (x2, y2) … (xn, yn)} “thuộc” cung một phần
tám thứ nhất

A
B

O
Trang 7


Khảo sát cung một phần tám thứ nhất
Mục tiêu khảo sát sự biến thiên của hoành độ và tung độ

r
Hàm y = r − x với x ∈ [0,
]
2
x
y' = - 2
r − x2
r2
y" = - 2
(r − x 2 )3 2
2

2

Trang 8


Khảo sát cung 1/8 thứ nhất
Bảng biến thiên

x
y
y'

0
r
0

y" −

r
2
r
2

Đường cong
giảm chậm

−1


Trang 9


Thuật toán trực tiếp
bước 1 Xác đònh điểm đầu
x1 = 0
y1 = r
bước 2 Xác đònh những điểm còn lại
r
Lặp xi < [ ]
2
xi+1 = xi + 1
y = r 2 − xi2+1
yi+1 = Round(y)

Trang 10


Thuaọt toaựn MidPoint
Dửù ủoaựn ủieồm saựng thửự i+1

i

A
B

Trang 11


Thuật toán MidPoint
- Khái niệm bên trong / bên
ngoài đường tròn
- Hàm kiểm tra một điểm
bên trong / bên ngoài
đường tròn
F(x, y) = x2 + y2 – r2
- Cách kiểm tra
P(x, y)

F(x, y)

bên trong

<0

nằm trên

=0

bên ngoài

>0

bên ngoài

bên trong

Trang 12


Thuật toán MidPoint
Xây dựng biến fi
Trung điểm M của AB
M(xi + 1, yi – 1/2)
Biến fi
fi = F(M)
fi = F(xi + 1, yi – 1/2)

yi

i

yi-1/2

A

M

yi-1

B
xi

xi+1

Trang 13


Thuaọt toaựn MidPoint
Coõng thửực tớnh fi
1
fi = x + 2xi + y yi + 1 r +
4
Coõng thửực tớnh fi nguyeõn
2
i

2
i

2

fi = xi2 + 2xi + yi2 yi + 1 r 2

Trang 14


Khi fi không nguyên !
Có hai cách giải quyết để fi thành nguyên
Cách 1
fi < 0 ⇔ kfi < 0
fi ≥ 0 ⇔ kfi ≥ 0
Với k > 0
Cách 2
fi < 0 ⇔ [fi] < 0
fi ≥ 0 ⇔ [fi] ≥ 0

Trang 15


Thuật toán MidPoint
Thuật toán
Bước 1 Xác đònh điểm đầu tiên
x1 = 0
y1 = r
Bước 2 Xác đònh những điểm tiếp theo
Lặp xi < yi
fi = …
fi < 0
xi+1 = xi + 1
yi+1 = yi
fi ≥ 0
xi+1 = xi + 1
yi+1 = yi – 1
Trang 16


Thuaọt toaựn MidPoint
Caựch tớnh fi caỷi tieỏn
f1 = 1 r
fi < 0
fi+1 = fi + 2xi + 3
fi 0
fi+1 = fi + 2xi 2yi + 5

Trang 17



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×