Gần đây tôi đã làm việc trên một trò chơi bằng cách sử dụng OpenGL và C ++ thông qua GLFW.
Trong trò chơi, tôi có một chiếc khinh khí cầu với một tháp pháo gắn trên nó. Khí cầu di chuyển xung quanh trong tọa độ không gian thế giới và tháp pháo 'theo sau' nó.
Tháp pháo có không gian tọa độ riêng cho hướng nhìn / ngắm của nó. Về cơ bản, khi tháp pháo nhắm theo hướng (0,0,1)
, nó nhắm song song với hướng khí cầu di chuyển.
Để cung cấp cho tháp pháo một mục tiêu không gian thế giới, tôi có một ma trận lấy tọa độ không gian thế giới và biến đổi chúng thành tọa độ không gian của tháp pháo.
Khi tháp pháo bắn, tôi muốn nó sinh ra các viên đạn trong không gian thế giới, vậy có cách nào hay không khi sử dụng ma trận biến đổi của tôi để chuyển đổi tọa độ không gian của tháp pháo trở lại không gian thế giới?
Một cách tổng quát hơn để đặt câu hỏi có thể là: nếu tôi có một ma trận M
lấy tọa độ từ không gian A
sang không gian B
. Có một cách dễ dàng để sử dụng M
để có được tọa độ từ B
đến A
?