Hệ thống tọa độ tay trái và tay phải


7

Trong Blender và các công cụ mô hình 3D khác, hệ thống tọa độ là thuận tay phải, trong khi trong Unity 3D và Trình mô phỏng chuyến bay không gian quỹ đạo, chúng thuận tay trái, tại sao điều này có thể xảy ra? Tại sao họ không đơn giản sử dụng hệ thống tọa độ tay phải mọi lúc để làm cho mọi việc dễ dàng hơn? Tại sao tất cả các chương trình liên quan đến đồ họa 3D đều sử dụng Z +?

 Y         |  Z
 ZX        |  YX
RIGHT-HAND | LEFT-HAND
TOP VIEW   | TOP VIEW

(may mắn thay, Unity3D chuyển đổi từ hệ tọa độ Blender sang hệ tọa độ Unity3D)

Câu trả lời:


10

Đó chỉ là truyền thống. Cả hai hệ thống đều không tốt hơn hệ thống kia, vì vậy bạn chỉ cần quen với việc sử dụng cả hai và chuyển đổi giữa chúng theo thời gian!

Các tọa độ tay phải là truyền thống để mô hình hóa trong đó người ta tưởng tượng mặt phẳng XY nằm ngang và trục Z là dọc.

Các tọa độ tay trái là truyền thống cho các máy ảnh trong đó người ta tưởng tượng mặt phẳng XY là dọc (tương ứng với tọa độ màn hình nếu máy ảnh thẳng đứng) và trục Z nằm trong màn hình (tương ứng với Z trong bộ đệm Z) .

Vì vậy, các ứng dụng mô hình hóa như Blender thường sử dụng tọa độ tay phải và bộ công cụ phát triển trò chơi như Unity thường sử dụng tọa độ tay trái. Nhưng một số hệ thống lại đi theo một cách khác: RenderMan thuận tay trái và OpenGL là thuận tay phải (hoặc ít nhất là các phiên bản đầu tiên, hiện tại nó khá bất khả tri).


Một lý do khác tại sao độ thuận tay có thể khác nhau là do các quy ước khác nhau về hướng của trục Y theo hai chiều. Quay trở lại những ngày xa xôi khi máy tính hiển thị các ống tia catốt đã sử dụng, màn hình được quét từ trên xuống dưới và từ trái sang phải bởi chùm electron. Vì vậy, thật thuận tiện khi trục Y chạy xuống màn hình, với gốc tọa độ ở phía trên bên trái. Mặt khác, thông thường trong toán học, trục Y hướng lên trên, với gốc tọa độ ở phía dưới bên trái. Khi bạn thêm một trục Z, các quy ước này sẽ tạo ra các hệ tọa độ ba chiều có độ thuận tay khác nhau.


Ngày xa từ ống tia catốt? Không còn xa nữa :)
tro999

2

Câu trả lời đơn giản, bởi vì không có quy tắc nghiêm ngặt nào về việc tuân theo một quy ước nhất định .

Bạn thậm chí có thể tạo một hệ tọa độ mới cho ứng dụng của mình. Và mọi người, những người sẽ sử dụng nó, sẽ phải làm quen với điều mới. Không có câu hỏi.


0

Cả quy ước thuận tay trái hay tay phải đều tốt hơn so với bên kia và tương tự, không có lựa chọn nào cho "trục" nào là tốt hơn khách quan so với bên kia. Các ứng dụng khác nhau sẽ có các yêu cầu khác nhau và đối với chúng, một lựa chọn cụ thể có thể lý tưởng hơn. Nhưng điều đó không đúng nói chung.

Bên cạnh đó, đây là một hoạt động đơn giản để chuyển đổi giữa các hệ tọa độ.


"Đơn giản"? Tôi đoán ai đó chưa bao giờ phải chuyển đổi dữ liệu hoạt hình dựa trên tứ phương từ một công cụ mô hình thuận tay phải thành một công cụ trong đó mọi thứ đều nằm trong không gian thuận tay trái.
MrCranky

1
Tôi có, và tồi tệ hơn; Tôi không nói "dễ", tôi nói thẳng. Các phép biến đổi biến đổi (như dữ liệu hoạt hình) có thể được giảm xuống chỉ bằng một phép biến đổi ma trận khác. Phát sinh sự chuyển đổi cụ thể nào là phù hợp thì hơi khó.
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.