JavaScript is required

Trong vòng lặp for(i = x1; i < x2;i++) ta gán giá trị x:= x+1;y:= y+m; PutPixel(x,round(y),color) là minh họa của thuật toán vẽ đường thẳng bằng:

A.

Bresenham

B.

DDA

C.

Midpoint

D.

Không phải là phép gán của thuật toán vẽ đường thẳng

Trả lời:

Đáp án đúng: B


Thuật toán DDA (Digital Differential Analyzer) là một thuật toán đơn giản để vẽ đường thẳng trên màn hình raster. Ý tưởng chính của thuật toán này là tính toán sự thay đổi nhỏ (vi phân) của tọa độ x và y, sau đó lặp lại việc tăng x và y theo các vi phân này để vẽ các điểm trên đường thẳng. Trong đoạn mã được cung cấp: - `for(i = x1; i < x2; i++)`: Vòng lặp này duyệt qua các giá trị x từ x1 đến x2. - `x := x + 1`: Tọa độ x tăng lên 1 đơn vị sau mỗi lần lặp. - `y := y + m`: Tọa độ y tăng lên một lượng 'm' (là hệ số góc của đường thẳng) sau mỗi lần lặp. Điều này tương ứng với việc tính toán sự thay đổi của y dựa trên sự thay đổi của x. - `PutPixel(x, round(y), color)`: Vẽ một điểm ảnh (pixel) tại tọa độ (x, round(y)) với màu sắc đã cho. Việc làm tròn (round) y là cần thiết vì tọa độ pixel phải là số nguyên. Như vậy, đoạn mã này minh họa chính xác cách thuật toán DDA hoạt động, trong đó mỗi bước lặp, x tăng lên 1 và y tăng lên một lượng tương ứng với hệ số góc của đường thẳng, và sau đó một pixel được vẽ tại vị trí (x, y) đã được làm tròn.

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.


24 câu hỏi 60 phút

Câu hỏi liên quan