Các vectơ bình thường, tiếp tuyến và nhị phân là gì và chúng được sử dụng như thế nào?


47

Tôi muốn tìm hiểu các thông tin sau:

  • Họ là ai?
  • Ví dụ sử dụng trong phát triển trò chơi (khu vực chúng được sử dụng)

Về các loại vectơ sau:

  • Normal
  • Tangent
  • Binormal

Một giải thích trung tâm phát triển trò chơi đơn giản sẽ đủ.


1
Bạn đang hỏi quá nhiều câu hỏi. Tốt nhất bạn chỉ nên đọc về cách các vectơ hoạt động. Từ đầu. Cũng vá lượng giác của bạn trên đường đi.
Sidar

3
Tôi cho rằng điều này có thể có nhiều điều để hỏi, nhưng mặt khác, thật tuyệt khi có thông tin này cùng nhau dưới một câu hỏi. Đó cũng là lý do tôi đặc biệt yêu cầu giải thích đơn giản.
Jaanus Varus

Câu trả lời:


43

Nói chung, một vectơ bình thường biểu thị hướng chỉ ra "trực tiếp" từ một bề mặt, có nghĩa là nó trực giao (ở góc 90 độ) với bất kỳ vectơ nào là đồng phẳng với (trong trường hợp bề mặt phẳng) hoặc tiếp tuyến với (trong trường hợp bề mặt không phẳng) bề mặt tại một điểm nhất định.

Một vectơ Tangent thường được coi là một vectơ tồn tại trong mặt phẳng của bề mặt (đối với một mặt phẳng) hoặc nằm tiếp tuyến với một điểm tham chiếu trên một bề mặt cong (ví dụ: nếu một mặt phẳng được xây dựng với cùng một điểm bình thường từ điểm tham chiếu , vectơ tiếp tuyến sẽ là coplanar với mặt phẳng đó).

Khái niệm về một vectơ nhị phân phức tạp hơn một chút; trong đồ họa máy tính, nó thường đề cập đến một vectơ Bitangent (tham khảo ở đây ), đây thực sự là vectơ tiếp tuyến "khác" cho bề mặt, trực giao với cả vectơ Bình thường và vectơ Tangent đã chọn.Bình thường, tiếp tuyến, Bitangent

Liên quan đến cách chúng được tính toán, điều này thay đổi tùy thuộc vào độ phức tạp của bề mặt và mức độ chính xác mà bạn muốn bình thường (trong một số trường hợp, chẳng hạn như với các bóng mờ mịn, nên tính toán bình thường cho bề mặt gần đúng, khi thông tin thực tế cho một bề mặt không có mặt), nhưng có một số công thức tổng quát được đưa ra ở đây .

Xét về nơi chúng xảy ra, câu trả lời là MỌI NƠI . Các vectơ thông thường được sử dụng để định vị máy ảnh và vật thể trong không gian 3D, để xác định quỹ đạo, phản xạ và góc trong tính toán vật lý, để ánh xạ giao diện và kết cấu cho mô hình 3D, để xác định độ lệch quỹ đạo trong lập trình AI, để đưa ra gợi ý cho các shader về cách thức ánh sáng, bóng râm và các điểm màu trên một bề mặt so với ánh sáng, máy ảnh và các vật thể khác, v.v. Chúng có thể là một trong những thông tin hữu ích nhất có trong môi trường 3D và thậm chí chúng còn rất tiện dụng trong 2D.


2
Đáng

Cảm ơn bạn đã giải thích kỹ lưỡng! Đánh dấu là câu trả lời.
Jaanus Varus

2
Có thể giúp đọc bài viết này về lý do tại sao giả định miếng vá hình vuông không hợp lệ và tại sao mọi thứ mọi người nói về tiếp tuyếnbitang đều không có thật. Nó phác thảo toán học thích hợp mà người ta nên sử dụng, nhưng thật đáng buồn là tôi không đủ năng lực để viết một câu trả lời đúng với nó.
Lars Viklund

Các vectơ bitangent và nhị phân là tương đương. Tên của chúng được gán cho cùng một thứ và nó chỉ phụ thuộc vào "quan điểm tinh thần" của bạn về việc sử dụng tên nào.
Nikos

15

Các vectơ bình thường thường được sử dụng để tính toán ánh sáng. Đó là một vectơ được cho là vuông góc với bề mặt được xấp xỉ bởi các đỉnh của lưới. Các tiêu chuẩn được xác định tại mỗi vị trí đỉnh nhưng có thể được tính toán khác nhau tùy thuộc vào cách bạn muốn ánh sáng chiếu vào đỉnh đó hoặc những gì bạn muốn làm với tính toán ánh sáng của mình trong bóng đổ.

Các vectơ tiếp tuyến và nhị phân là các vectơ vuông góc với nhau và vectơ bình thường mô tả hướng của tọa độ kết cấu u, v đối với bề mặt mà bạn đang cố gắng hiển thị. Thông thường, chúng có thể được sử dụng cùng với các bản đồ thông thường cho phép bạn tạo chi tiết chiếu sáng bề mặt phụ cho mô hình của mình (độ gập).

Rõ ràng có nhiều cách khác để sử dụng các vectơ này và tôi vừa mô tả việc sử dụng trung bình của chúng. Để biết thêm thông tin kỹ thuật, tôi khuyên bạn nên chọn một cuốn sách về đồ họa máy tính hoặc khám phá một số bài viết trên internet. Có rất nhiều thông tin ngoài kia về điều này.


4
+1 - Tuy nhiên, lần sau; thêm một hình ảnh.
Pieter Geerkens

9

Sự khác biệt giữa tiếp tuyến và nhị phân ít rõ ràng hơn ngay lập tức trên các bề mặt, nhưng điều đó không quá ngạc nhiên - sự bất thường ban đầu được định nghĩa không phải cho các bề mặt mà là các đường cong , nơi khái niệm này có ý nghĩa hơn nhiều (và nơi nó thực sự sống như một 'bình thường' ở chỗ nó trực giao với hướng di chuyển, do đó, tên). Để cụ thể hơn, đưa ra một đường cong không gian có dạng p = V (t) = (V x (t), V y (t), V z (t)), sau đó tiếp tuyến - là một vectơ chỉ trong hướng chuyển động - được cho bởi T u = dp / dt = (dV x / dt, dV z / dt, dV z/ dt). (Tôi đang sử dụng chỉ mục ở đây để phân biệt 'không chuẩn hóa' vì tôi không có MathJax ở đây.) Sau đó, tốc độ (tức thời) dọc theo đường cong chỉ là s = ​​| T u |, độ dài của vectơ tiếp tuyến và vectơ tiếp tuyến 'chuẩn hóa' chỉ đơn giản là T = T u / s.

Khi đó vectơ bình thường cho đường cong là đạo hàm của vectơ tiếp tuyến chuẩn hóa theo thời gian, N u = dT / dt; Lý do mà tiếp tuyến chuẩn hóa được sử dụng ở đây là để giữ tốc độ dọc theo đường cong khỏi xiên vectơ bình thường - bạn có thể chỉ ra rằng với định nghĩa này, chúng ta luôn có TN u = 0. Lưu ý rằng N u không nhất thiết phải là vectơ đơn vị , bất kỳ nhiều hơn T u là; trong thực tế, độ lớn của nó k = | N u | là độ cong (tức thời) của đường cong tại điểm đã cho và điểm p + N u là tâm của cái gọi là vòng tròn thẩm thấu (tại điểm đã cho). Bình thường hóa bình thường là chỉ N = N u/ k và bitangent B là sản phẩm chéo B = TxN; vì T và N đều là các vectơ đơn vị và chúng trực giao với nhau, nên B cũng là một vectơ đơn vị và (T, N, B) là một khung trực giao.

Lưu ý rằng theo định nghĩa này, 'nhị phân' đối với một đường cong gần với những gì chúng ta nghĩ là bình thường đối với một bề mặt (nó là bình thường đối với mặt phẳng 'cục bộ' của đường cong) và đường cong bình thường gần với đường cong hơn chúng tôi nghĩ như là bitangent cho một bề mặt.

(Hình ảnh này, thật đáng buồn, thực sự không thực hiện công lý khái niệm, nhưng đó là thứ tốt nhất tôi có thể tìm thấy trên web và tôi không thể tự xây dựng ...)

nhập mô tả hình ảnh ở đây

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.