ĐỒ 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 Đường tròn tâm bất kỳ... Tính đối xứng của đường trònĐường tròn có 4 trục đối
Trang 1ĐỒ HỌA RASTER CÁC THUẬT TOÁN VẼ ĐƯỜNG TRÒN
Giảng viên : Bùi Tiến Lên
Trang 2Phân loại đường tròn
Đường tròn tâm O
Đường tròn tâm bất kỳ
Trang 3Ứ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)
O
(xc, yc)
(x, y)
(x+xc, y+yc)
Trang 4Phương trình đường tròn
2 2
2
x r
y
r y
x
r
Trang 5Tí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
phân
giác
1
pha
ân g iác 2
Trang 6Ứ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
O
1 2
3
8 chọ n
Trang 7Vẽ 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
Trang 8Khả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
độ
2 3 2 2
2
2 2
2 2
) x r
(
r
- y"
x r
x
- y'
] 2
r [0, x
với x
r y
Hàm
Trang 9Khảo sát cung 1/8 thứ nhất
Bảng biến thiên
"
0 '
y
2
r
r y
2
r
0
x
Đường cong giảm chậm
Trang 10Thuật toán trực tiếp
Round(y)
= y
x r
=
y
1 + x
= x
] 2
r [
<
x
Lặp
lại còn điểm
những định
Xác 2
bước
r
=
y
0
=
x
đầu điểm
định Xác
1 bước
1
+
i
2 1 i 2
i 1
+
i
i
1
1
Trang 11Thuật toán MidPoint
Dự đoán điểm sáng thứ i+1
B
Trang 12Thuậ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
bên ngoài
P(x, y) F(x, y) bên trong < 0
nằm trên = 0
Trang 13Thuậ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)
i
B
A
M
yi-1/2
yi
yi-1
Trang 14Thuật toán MidPoint
Công thức tính fi
4
1 r
1 y
y x
2 x
i
2 i i
2 i
Công thức tính fi nguyên
2 i
2 i i
2 i
i x 2x y y 1 r
Trang 15Khi 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
f 0 [f] 0
Trang 16Thuật toán MidPoint
Thuật toán
Bước 1 Xác định điểm đầu tiên
Bước 2 Xác định những điểm tiếp theo
fi < 0
Trang 17Thuật toán MidPoint
Cách tính fi cải tiến
f1 = 1 – r
fi < 0
fi+1 = fi + 2xi + 3
fi 0
fi+1 = fi + 2xi – 2yi + 5