Tại sao ma trận trên thư viện GLM luôn chuyển vị?

Chào anh chị, hiện tại em có sử dụng thư viện GLM, em thấy hầu như các ma trận perspective, translate, rotate,… đều là chuyển vị. Không chỉ ở GLM mà ở các bài hướng dẫn trên mạng em cũng bắt gặp đều tương tự, vd khi hướng dẫn ma trận là
1 0 0
0 1 0
0 -1 1

và kết quả sau khi debug là:
1 0 0
0 1 -1
0 0 1

Em không biết là đã hiểu sai hay đã bỏ qua vấn đề gì chưa tìm hiểu. mong anh chị giúp em với!

GLM nó hơi bị “ngược” ở cách truy cập cột trước dòng sau (cái này mới là chướng) VÀ nhân bên trái (lưu ý nhân ma trận không có giao hoán). Hai cái “ngược” đó kết hợp lại thì thành chuyển vị như sau: T(A*B) = T(B) * T(A).

Cách truy cập đúng đắn phải căn cứ vào cách cài đặt.

1 Like

Tks anh, mấy ngày rồi em cũng cay cái này lắm không ra, sau khi đăng lên daynhauhoc thì em 1 lúc sau cũng tìm được trên mạng luôn.
Và câu trả lời này em vừa tìm được trên mạng:
https://www.opengl.org/discussion_boards/showthread.php/197874-While-matrices-are-in-Row-major-or-column-major-I-m-in-confunsion-major!

Lý do được tìm thấy là do OpenGL làm việc với ma trận “cột chính”.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?