tailieunhanh - Đồ họa máy tính : CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ part 3

Hình – Đường tròn vẽ ra không liền nét theo cách vẽ trên . Thuật toán MidPoint Do tính đối xứng của đường tròn (C) nên ta chỉ cần vẽ cung (C1/8) là cung 1/8 đường tròn, sau đó lấy đối xứng. Cung (C1/8) được mô tả như sau (cung của phần tô xám trong hình vẽ) | Ngược lại nếu 1 a 0 ta sẽ chọn điểm P tức là yí i Xét pt D y-Zy l PỄ 1 ò - 2yt - 1 Thay 2 x vào phưong trình trên ta được Pi 2 Dxyị c với c 2 ĩ y 2Ễ í Dx Nhận xét rằng do 22r ũ nên dấu của biểu thức di cũng chính là dấu của Pi. Hay nói một cách khác nếu tại bước thứ i ta xác định được dấu của Pí thì xem như ta xác định được điểm cần chọn ở bước i 1 . Vấn đề còn lại là làm thế nào để tính được tại mỗi bước thật nhanh Ta có Pễ 1 Pi - 2DryỄ 1 c - Ệ2 - 2LVyỂ c Pi 1 - Pi ì 2 OẠí 1 - XÉ - 2Đr f - y Pẻ 1 - Pi -r2Dy- 2Dr j i 1 - yt do XÉ 1 X 1 Từ đây ta có thể suy ra cách tính 1 từ như sau Nếu Ĩ ÍJ thì Pi-H N 2 Ty do ta chọn yỂ yỂ. Ngược lại nếu - l thì Pí i Pi 22 2Cír do ta chọn yỂ 1. Giá trị Po được tính từ điểm vẽ đầu tiên xo yo theo công thức p0 - 2Dy f-J - 2Dxyữ c - 2DyXỳ - 2Dxyữ 2Dy - 2Ồ - 1. Dr 4. A 4. A r. 4-X . A 4 . . 0 m ò -- ũ 6 Do là điểm nguyên thuộc về đoạn thăng nên ta có . Thế vào phưong trình trên ta suy ra 0 2 O - Đr. Lưu đồ thuật toán Bresenham Cài đặt minh họa thuật toán Bresenham void LineBres int xl int yl int x2 int y2 int Dx Dy p Constl Const2 int x y Dx x2 - xl Dy y2 - yl p 2 Dy - Dx Dy 1 - Dx Constl 2 Dy Dy 1 Const2 2 Dy-Dx Dy-Dx 1 x xl y yi putpixel x y Color for i x1 i x2 i if P 0 p Consti else p Const2 y x putpixel x y Color LineBres Nhận xét Thuật toán Bresenham chỉ làm việc trên số nguyên và các thao tác trên số nguyên chỉ là phép cộng và phép dịch bit phép nhân 2 điều này là một cải tiến làm tăng tốc độ đáng kể so với thuật toán DDA. Ý tưởng chính của thuật toán nằm ở chỗ xét dấu pi để quyết định điểm kế tiếp và sử dụng công thức truy hồi để tính A bằng các phép toán đon giản trên số nguyên. Thuật toán này cho kết quả tưong tự như thuật toán DDA. . Thuật toán MidPoint Thuật toán MidPoint đưa ra cách chọn J 1 là hay 1 bằng cách so sánh điểm thực Q xỂ 1 ý với điểm MidPoint là trung điểm của S và P. Ta có Nếu điểm Q nằm dưới điểm MidPoint ta chọn S. N gược lại nếu điểm Q nằm trên điểm MidPoint ta chọn .

crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.