Thuật toán dòng của Bresenham là cách vẽ các đường thẳng chỉ bằng các phép toán số nguyên nhanh (cộng, trừ và nhân với 2). Tuy nhiên, nó tạo ra các dòng bí danh. Có một cách nhanh chóng tương tự để vẽ các đường khử răng cưa?
Thuật toán dòng của Bresenham là cách vẽ các đường thẳng chỉ bằng các phép toán số nguyên nhanh (cộng, trừ và nhân với 2). Tuy nhiên, nó tạo ra các dòng bí danh. Có một cách nhanh chóng tương tự để vẽ các đường khử răng cưa?
Câu trả lời:
Có một cách nhanh chóng tương tự để vẽ các đường khử răng cưa?
Không, bởi vì theo định nghĩa, một đường chống răng cưa chạm vào nhiều pixel hơn. Các thuật toán như vậy sẽ chậm hơn.
Trong một trình rasterizer phần mềm, cách phổ biến để vẽ các đường chống răng cưa là thuật toán dòng của Xiaolin Wu . Không khó để thực hiện, và dù sao cũng có mã giả chất lượng cao bất thường tại liên kết đó.
Trong ống raster phần cứng, dòng nguyên thủy được mở rộng thành một hình tứ giác không gian màn hình bằng trình đổ bóng hình học mặc định (hoặc do người dùng cung cấp), sau đó được vẽ thành hai hình tam giác, sau đó có thể được khử răng cưa theo những cách thông thường.
Trong một raytracer, có nhiều lựa chọn khác nhau. Thật đáng suy nghĩ về cách bạn thực sự muốn vẽ một đối tượng 1D. Có lẽ như một hình trụ (woo bóng!). Lưu ý rằng điều này giới thiệu các vấn đề về phối cảnh / báo trước có thể (hoặc có thể không) là những gì bạn muốn. Không có sự khái quát rõ ràng. Sau đó, rõ ràng, bất cứ điều gì bạn làm, bạn chỉ cần thay thế nó.