Điều gì gây ra răng cưa?


47

Tôi luôn nghe về răng cưa và khử răng cưa và tôi biết nó trông như thế nào nhưng điều tôi không hiểu là nguyên nhân gây ra nó. Nó có phải là một hiện tượng vật lý? Hoặc một số?

Nếu nó giúp giải thích, tôi có một số kiến ​​thức lập trình, nhưng không phải trong các trò chơi video hoặc đồ họa.

Câu trả lời:


60

Nó có phải là một hiện tượng vật lý? hay số?

Câu hỏi này ám chỉ tôi rằng bạn không thực sự biết răng cưa / khử răng cưa nghĩa là gì. Ý tôi là, bạn nói bạn "biết nó trông như thế nào" nhưng nếu bạn thực sự biết các thuật ngữ đó có nghĩa gì, có lẽ bạn sẽ nhận ra câu hỏi của mình là vô nghĩa. Bí danh là một tác dụng phụ của cách hiển thị đồ họa máy tính và đồ họa máy tính khá nhiều theo định nghĩa không phải là hiện tượng vật lý.

"Aliasing" chỉ đề cập đến cái nhìn bậc thang trên các đường góc cạnh vì đồ họa máy tính thực sự bao gồm rất nhiều hình vuông nhỏ trong một lưới. Đây là một hình ảnh để minh họa những gì tôi đang nói về: nhập mô tả hình ảnh ở đây

Đây là một vấn đề bất cứ khi nào bạn kết xuất các pixel trong một hình ảnh, cho dù bạn đang vẽ tự do hay đang viết một thuật toán để tính toán các pixel cho đa giác 3D. Đó chỉ là một tác dụng phụ của thực tế là hình ảnh là một lưới các pixel vuông. "Chống răng cưa" là khi bạn ngụy trang giao diện bậc thang bằng cách trộn các màu lại với nhau dọc theo các pixel cạnh.


18
@Kruncho Đừng bao giờ xin lỗi vì đã sai, trừ khi bạn đang dạy người khác những lỗi lầm của mình! Chỉ xin lỗi khi bạn không cố gắng hiểu hoặc không muốn được sửa chữa. Lỗi của bạn thực sự đã giúp làm rõ chính xác những gì bạn đang hỏi để biết về: ('làm thế nào' hiện tượng răng cưa xảy ra trong đồ họa máy tính?). Btw, trong khi câu trả lời này là tốt nhất để minh họa những gì, làm thế nào và tại sao, nó là một vấn đề số. Bạn có thể nghĩ về nó như một giới hạn của việc cố gắng biểu diễn các số phân số chỉ sử dụng toàn bộ số nguyên. Không có một nửa pixel, v.v ... Vì vậy, bạn kết thúc với hình ảnh trông khối.
Logic mờ

5
@jhocking Một chỉnh sửa phạm vi: độ vuông góc của các pixel không thực sự phù hợp. Bí danh sẽ xảy ra giống nhau nếu mỗi pixel là các chấm tròn có cùng kích thước.
Logic mờ

10
@jhocking "Lưới vuông" cũng sẽ không cắt nó. Bạn vẫn sẽ có được răng cưa (trông hơi khác một chút) nếu các pixel của bạn được sắp xếp theo dạng hình lục giác. Tất cả vấn đề là các pixel được sắp xếp theo một mẫu thông thường và có kích thước khác không, và cả hai điều kiện này đều đúng với bất kỳ công nghệ hiển thị có thể hiểu được nào.
Mike Scott

3
Bạn đang bị treo lên từ "hình vuông" khi đó chỉ là một mô tả cho "lưới".
jhocking

11
@MikeScott: Ngay cả với các pixel được sắp xếp không đều, răng cưa sẽ hiển thị. :))) Điều kiện quan trọng để khử răng cưa xuất hiện là tần số tối đa của tín hiệu gốc (ảnh gốc) cao hơn 2 * (1 / T) (trong đó T là khoảng giữa các mẫu = khoảng cách giữa các pixel ). --- Khi hình ảnh gốc có các cạnh sắc nét (như đường màu đen trên nền trắng) thì tần số tối đa của nó là vô hạn.
pabouk

121

Câu trả lời được chấp nhận không hoàn toàn chính xác, mặc dù nó giải quyết việc sử dụng phổ biến nhất trong đồ họa máy tính. Aliasing là một khái niệm cơ bản trong xử lý tín hiệu và lý thuyết toán học của nó có trước màn hình máy tính. Nó cũng không thực sự đúng rằng "đó là một tác dụng phụ của thực tế là các pixel là hình vuông". Bí danh tồn tại bất cứ khi nào bạn lấy mẫu tín hiệu một cách riêng biệt ở tốc độ thấp hơn tốc độ Nyquist cho tín hiệu đó và ảnh hưởng đến âm thanh kỹ thuật số cũng như hình ảnh và nhiều loại tín hiệu được lấy mẫu riêng biệt khác. Bí danh trong đồ họa máy tính là một tác dụng phụ của lấy mẫu rời rạc, không phải là hình dạng của các pixel.

Khử răng cưa trong đồ họa máy tính là một chủ đề sâu sắc và phức tạp và có nhiều thứ hơn là chỉ khử răng cưa. Một lần nữa, có rất nhiều lý thuyết cơ bản từ xử lý tín hiệu và đó là một lĩnh vực nghiên cứu tích cực trong đồ họa máy tính làm thế nào để chống bí danh hiệu quả, không chỉ cho các cạnh mà còn cho bí danh tạm thời, cho bí danh khi tái tạo BRDF trong các bóng đổ pixel, cho bóng tối cạnh và trong nhiều lĩnh vực khác. Ánh xạ Mip của kết cấu trong đồ họa 3D là một kỹ thuật khử răng cưa được thiết lập tốt đang giải quyết một vấn đề quan trọng khác ngoài khử răng cưa cạnh chẳng hạn.

Nó thực sự là một hiện tượng toán học nhiều hơn một vật lý nhưng nó xuất hiện trong kỹ thuật trong nhiều lĩnh vực khác ngoài đồ họa máy tính. Tôi thực sự sẽ không mô tả nó như một hiện tượng số - đó là kết quả của việc lấy mẫu rời rạc, không phải là sự biểu diễn rời rạc của các giá trị số trên máy tính, mặc dù điều đó cũng có thể gây ra hiệu ứng răng cưa. Hiểu các nguyên tắc cơ bản của xử lý tín hiệu là một nền tảng tốt để hiểu cách biểu hiện răng cưa trong đồ họa máy tính và để hiểu cách giảm bớt nó.


6
Một mặt, hey tôi đã học được một điều mới ngày hôm nay, chưa bao giờ nghe nói về răng cưa trong bất kỳ bối cảnh nào ngoài các cạnh đồ họa. Điều đó nói rằng, chi tiết kỹ thuật bổ sung này dường như không mâu thuẫn với lời giải thích "đó là một tác dụng phụ của thực tế là các pixel là hình vuông". "Lấy mẫu rời rạc" chỉ là một cách để nói "cạnh thực sự là một loạt các pixel rời rạc, không phải là một đường liên tục".
jhocking

15
+1 cho độ chính xác kỹ thuật. Mặc dù hơi quá kỹ thuật với mức độ của câu hỏi được hỏi và không thực sự giải quyết câu hỏi ngụ ý. Câu trả lời được chấp nhận phù hợp hơn với mục đích của câu hỏi. Tôi đã học được một cái gì đó mới, vì vậy cảm ơn vì sự công phu :)
Logic mờ

6
@jhocking xin lỗi, các lập trình viên đồ họa của chúng tôi có xu hướng giải quyết vấn đề răng cưa :) Tôi nghĩ rằng câu trả lời của bạn giải quyết câu hỏi nhưng nếu ai đó muốn tìm hiểu sâu hơn về đồ họa máy tính, tôi nghĩ thật hữu ích khi hiểu rằng răng cưa là một hiện tượng toán học với bó lý thuyết đằng sau nó. Tất cả các chi tiết kỹ thuật đó đều có ích cho mục đích cuối cùng là tạo ra những bức ảnh đẹp trong các trò chơi của chúng tôi :)
mattnewport

4
@jhocking Vấn đề là không quan trọng hình dạng của các pixel là gì - vì vậy nó không phải là tác dụng phụ của thực tế là các pixel là hình vuông , đó là một tác dụng phụ của thực tế là các pixel không thay đổi màu sắc so với các pixel mức độ. Và dù sao, một pixel không phải là một hình vuông nhỏ .
Daniel Wagner

1
Câu trả lời của bạn là thiếu hình ảnh, nếu không nó chắc chắn sẽ là người được chấp nhận. Ngoài ví dụ chống răng cưa cạnh, nó cần: 1) gif hoạt hình của bánh xe ô tô quay theo chiều kim đồng hồ và đột nhiên dừng lại và đổi hướng. 2) một bàn cờ 3D (bạn biết người sẽ chơi vô cùng) ... Tôi cũng đã nghiên cứu xử lý tín hiệu.
MartinTeeVarga

68

Thêm vào hai câu trả lời khác, đây là một lời giải thích trực quan hơn về những gì xảy ra.

Bí danh trong đa giác 2D

Các ô vuông lưới đại diện cho pixel. Đa giác màu đỏ ở bên trái là hình được vẽ, được biểu thị bên trong như một chuỗi các điểm. Khi được hiển thị, nó được chuyển đổi từ danh sách các điểm thành bộ đệm màu pixel. Việc lấy mẫu riêng biệt xác định pixel nào tối và pixel nào sáng, dựa trên số lượng đa giác bao phủ mỗi pixel.

Để trả lời câu hỏi của bạn, đây là một hiện tượng số / toán học vì thông tin về hình dạng ban đầu bị mất do xấp xỉ.

Khử răng cưa

Khử răng cưa là khi kết xuất cố gắng sửa lỗi cho răng cưa bằng cách làm cho các pixel được che phủ một phần bớt dữ dội hơn.


5
Đây là câu trả lời đầu tiên thực sự giải thích những gì đang diễn ra. Làm tốt.
Beska

1
"Làm cho các pixel được che phủ một phần bớt dữ dội hơn" không chính xác như tôi hiểu. Tôi tin rằng hầu hết các thuật toán Anti Aliasing đều áp dụng Bộ lọc thông thấp (giống như bộ lọc mờ), đôi khi trên toàn bộ khung được hiển thị (như với FXAA) hoặc các thuật toán thông minh hơn chỉ thực hiện trên các ranh giới cạnh. MSAA thực hiện theo một cách khác, nhưng hiệu ứng tổng thể vẫn là LPF trên các ranh giới cạnh cứng.
Lu-ca

1
@Luke Tôi không có ý định cho đoạn cuối là một lời giải thích về cách mọi thứ hoạt động; nó chỉ mô tả kết quả của khử răng cưa. "Intense" không phải là thuật ngữ chính xác để sử dụng, nhưng nó được áp dụng khi khử răng cưa được thực hiện trên một hình dạng có màu sắc đậm hơn màu nền. Đó là tất cả những gì tôi đã nói.
aebabis

3

Trong trường xử lý tín hiệu, răng cưa đề cập đến việc xác định sai tần số tín hiệu. Ví dụ, do thiếu sự xem xét đầy đủ trong bước lấy mẫu dưới mức, nó có thể dẫn đến các lỗi tạo và biến dạng. Nó có thể được khái quát thành tín hiệu rời rạc 2D như hình ảnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.