Đoạn mã sau mô tả giải thuật nào?
dx = x2 – x1; dy = y2 – y1; p = 2 *dy – dx
for (x = x1;x <= x2;x++)
{
putpixel(x,y,c);
if (p < 0)
p+= 2 * dy;
else
{
p+= 2 * dy – 2 * dx;
y++;
}
}
Trả lời:
Đáp án đúng: A
Đoạn mã được cung cấp mô tả thuật toán Bresenham để vẽ đoạn thẳng. Thuật toán Bresenham là một thuật toán hiệu quả để raster hóa đường thẳng bằng cách sử dụng chỉ các phép toán số học với số nguyên. Trong đoạn mã, biến `p` là tham số quyết định (decision parameter) được cập nhật trong mỗi bước lặp để xác định pixel nào sẽ được vẽ tiếp theo. Các phép tính `dx = x2 - x1` và `dy = y2 - y1` tính khoảng cách theo trục x và trục y. Điều kiện `if (p < 0)` xác định xem có nên giữ nguyên giá trị y hay tăng y lên 1. Đoạn code này phù hợp với trường hợp 0 < k < 1, vì nó giả định rằng sự thay đổi x lớn hơn sự thay đổi y, tức là đoạn thẳng có độ dốc nhỏ hơn 1.
Cùng ôn thi với bộ câu hỏi trắc nghiệm môn Đồ họa máy tính có đáp án mà tracnghiem.net chia sẽ dưới đây, nhằm giúp các bạn sinh viên chuyên ngành chuẩn bị cho kì thi sắp tới.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
