2012-05-17 41 views
6

Tôi thường thấy các từ 'vectơ' và 'đỉnh' (số nhiều 'đỉnh') được sử dụng trong các ngữ cảnh lập trình 3D.Sự khác nhau giữa vector và đỉnh là gì?

Từ những gì tôi có thể nói, cả hai đều mô tả một điểm trong không gian n chiều. Ví dụ, khung công tác XNA có các lớp Vector2, Vector3 và Vector4, nhưng dường như không có lớp Vertex.

Sự khác biệt chính xác giữa vector và đỉnh là gì?

Trả lời

13

A 'vector' là khái niệm toán học; crudely, nó đại diện cho một chuyển trong một số không gian tọa độ. Một đỉnh là một phần tử của một số hình học 3D (hoặc 2D, thực sự) thường có một vị trí và một số thuộc tính khác (màu sắc, tọa độ kết cấu, vân vân).

Vị trí của một đỉnh (và do đó đôi khi chính đỉnh) có thể được biểu diễn bằng vec-tơ nếu một giả định vectơ là một chuyển vị từ gốc của hệ tọa độ. Đôi khi người ta gọi đây là biểu diễn của một vector là "vectơ vị trí".

Vì vậy, gần đúng, sự khác biệt là các vectơ có thể được sử dụng để mô tả (đầy đủ hoặc một phần) một đỉnh.

+5

Điều quan trọng cần lưu ý ở đây là một vectơ chỉ chứa dữ liệu vị trí, trong khi một đỉnh có thể (và thường) chứa nhiều thông tin hơn là vị trí của nó. – CodeHxr

+0

Trong XNA, và có thể là các khung đồ họa 3D khác, có tồn tại một lớp Vector4. Vì con người vẫn chỉ có thể quan sát 3 chiều không gian, là lớp Vector4 được sử dụng cho các đỉnh sau đó? Nếu vậy, tại sao nó được gọi là Vector? – lesderid

+3

@lesderid Thêm chính thức, vectơ là một phần tử của không gian vectơ và có thể có tọa độ n. Trong khi đúng là các vectơ 1, 2 và 3 chiều xảy ra có mối quan hệ hình học thuận tiện với không gian 3D, con người có thể hình dung, bản thân nó không phải là thuộc tính nội tại của vectơ. Điều đó nói rằng, vectơ 4 thành phần thường được sử dụng làm thuộc tính đỉnh (thường là cho thuộc tính vị trí hoặc màu sắc). Chúng hữu ích cho vị trí vì chúng cho phép biến đổi ma trận 4x4 và chúng hữu ích cho màu sắc chỉ vì chúng xảy ra để có thể lưu trữ bốn thành phần (RGBA). –

Các vấn đề liên quan