Câu hỏi Có một thuật toán để giải quyết vấn đề hình học tái tạo chiếu?


Chúng tôi có một mạng lưới với hình vuông màu đỏ trên đó. Có nghĩa là chúng ta có một mảng gồm 3 ô vuông (với góc == 90 độ) mà chúng ta biết có cùng kích thước, nằm trên cùng một mặt phẳng và cùng quay tương đối với mặt phẳng chúng đang nằm trên và không nằm trên cùng một đường trên máy bay.

Chúng tôi có một phép chiếu của không gian chứa mặt phẳng có hình vuông.

im 1 

Chúng tôi muốn biến chiếu máy bay của chúng tôi với hình vuông để chúng ta sẽ nhìn thấy nó giống như nó đang đối mặt với chúng ta, nói chung chúng ta cần một công thức để biến mỗi điểm chiếu chiếu ban đầu đó sao cho nó sẽ đối mặt với chúng ta như trên hình dưới đây.

Những công thức nào có thể được sử dụng để giải quyết vấn đề như vậy, làm thế nào để giải quyết nó, có ai phải đối mặt với một cái gì đó như thế này trước đây?

im 2


11
2017-09-13 23:42


gốc


Bạn có muốn chuyển đổi trong không gian màn hình (pixel, 2d) hoặc ở tốc độ thế giới (3D) không? - Victor Liu
Bạn có cấu trúc dữ liệu nào làm đầu vào? Điểm? Điểm ảnh? Những đường thẳng? - Dr. belisarius
Đường thẳng và đối tượng (nhưng tôi tạo tham từ pixel =)) - Rella


Các câu trả lời:


Đây là trường hợp đặc biệt trong việc tìm ánh xạ giữa các hình tứ giác bảo vệ các đường thẳng. Chúng thường được gọi là biến đổi đồng bộ. Ở đây, một trong những quad là một hình vuông, vì vậy đây là một trường hợp đặc biệt phổ biến. Bạn có thể google các điều khoản này ("quad quad", vv) để tìm giải thích và mã, nhưng đây là một số cho bạn.

Ước tính chuyển đổi quan điểm

thảo luận về diễn đàn trò chơi

trích xuất hình tứ giác thành hình chữ nhật

Chiếu và lập bản đồ dự báo

ProjectiveMappings cho ImageWarping bởi Paul Heckbert.

Các môn toán không phải là đặc biệt dễ chịu, nhưng nó không phải là khó. Bạn cũng có thể tìm thấy một số mã từ một trong các liên kết ở trên.


6
2017-09-14 02:23



OK, 1 cho đúng, nhưng nhận xét về toán học khó chịu là waaaayyyyy tooooooooo nhẹ. Nó không khó trên mỗi bộ, nhưng di chuyển giữa phía phân tích (toán thuần túy), đại diện rời rạc của máy tính, và sau đó biểu diễn không được giải quyết khủng khiếp của ảnh được hiển thị sẽ rất rất xấu. Ngoài ra, toán học trở nên cực kỳ khó khăn khi máy ảnh được đặt 'thú vị', tức là mắt cá hoặc cực đoan - dòng dưới cùng là đặc điểm hình ảnh cần phải được hạn chế rất cẩn thận để làm việc này. <thở dài> - Mark Mullin
@Mark: đồng ý - OP vẫn chưa rõ ràng về những khó khăn và mục tiêu. Và cho là vấn đề là, với góc nhìn của 3 ô vuông màu đỏ sans lưới, để đưa 3 ô vuông màu đỏ vào chế độ xem 2D. Có lẽ đây là vấn đề xử lý hình ảnh ít hơn và nhiều vấn đề về đăng ký hơn. Vì vậy, chúng tôi sẽ chờ OP làm rõ. Trong khi chờ đợi, đây là câu trả lời tốt nhất của tôi. - brainjam
Các công thức resuting là quá tính toán chuyên sâu cho chuyển POINTS như OP yêu cầu ... nhưng trong vấn đề như đã nêu của OP Tôi nghĩ rằng chuyển đổi đường thẳng là con đường để đi. Tôi đã làm toán cho một chuyển đổi projective với hai điểm thoát (bằng cách sử dụng một CAS) nhưng nó quá dài và nhàm chán để gửi như là một câu trả lời ở đây. - Dr. belisarius
@Kabumbus Bạn đã chấp nhận câu trả lời. Tại sao bạn vẫn hỏi ý tưởng để giải quyết vấn đề? - Dr. belisarius
Này, tôi có cùng một câu trả lời, bây giờ tôi không cảm thấy đặc biệt :) stackoverflow.com/questions/4217370/… - Scott