Làm thế nào để nội suy các đỉnh khi cắt?

Aug 16 2020

Khi chúng ta clip trong không gian clip đồng nhất, chúng ta phải tạo ra một đỉnh mới nằm ở giao điểm giữa cạnh và mặt phẳng clip. Do đó, chúng tôi phải nội suy$(x , y, z , w)$vị trí của cả hai đỉnh để tạo ra vị trí đỉnh mới. Có vẻ như tất cả đều tốt và tốt, nhưng tôi nên làm gì khi đỉnh được tạo ra sau khi nội suy có aw bằng 0?

Nó không hoạt động vì phép chia w làm cho điểm đi đến vô cùng (chia cho 0).

Vì vậy, tôi có nên đảm bảo rằng tôi không bao giờ tạo ra các đỉnh có aw bằng 0 (làm thế nào?)? Hay tôi chỉ nên đối phó với w null (làm thế nào?)?

Bạn có thể nói rằng tình huống này không bao giờ xảy ra, nhưng nó thực sự xảy ra, đặc biệt là khi z của các đỉnh được đặt thành w của chúng, ví dụ như hộp bầu trời. Trong trường hợp này, khi chúng ta kẹp vào mặt phẳng gần (z = 0 trong không gian clip) và nội suy vị trí, chúng ta sẽ kết thúc bằng az bằng 0 nhưng aw bằng 0 ...

Trả lời

2 NathanReed Aug 30 2020 at 07:12

Các điểm trước máy ảnh có $w > 0$đúng theo định nghĩa. Tôi sẽ nói rằng nếu việc cắt bớt mang lại cho bạn điểm với$w = 0$ thì có gì đó không ổn.

Xem xét các mặt phẳng clip trái / phải / trên / dưới. Không có cách nào mà một tam giác có thể kéo dài từ một phần của vùng thất vọng có thể nhìn thấy, đến$w = 0$ mặt phẳng máy ảnh hoặc đằng sau nó, mà không vượt qua bên ngoài một trong các mặt phẳng phụ — hoặc mặt phẳng gần, nằm ở một khoảng cách dương nào đó $w_\text{near} > 0$.

Bạn đã đề cập đến hộp bầu trời và cài đặt $z = w$trong đầu ra của bộ đổ bóng đỉnh. Hình học như vậy phải vượt qua mặt phẳng phụ trước khi nó có thể đến mặt phẳng gần. (Làm thế nào một phần của hộp bầu trời có thể đến đủ gần máy ảnh để chỉ được cắt bởi mặt phẳng gần?) Nếu bạn đang cắt chính xác nó vào tất cả các mặt phẳng bực bội, bạn phải kết thúc bằng$w > 0$ trong đỉnh cuối cùng.