2013-06-21 45 views
5

Cho A: một điểm, B: Một điểm được biết là tồn tại trên mặt phẳng P, C: bình thường của mặt phẳng P. Tôi có thể xác định xem A nằm trên P của kết quả của một sản phẩm dấu chấm giữa (A - B) và C là số không? (hoặc trong một mức độ chính xác nhất định, có thể tôi sẽ sử dụng 0,0001f)Sử dụng sản phẩm chấm để xác định xem điểm nằm trên mặt phẳng

Tôi có thể thiếu một số lỗ hổng toán học rõ ràng nhưng điều này có vẻ đơn giản và nhanh hơn nhiều so với việc chuyển điểm sang không gian tọa độ của tam giác a. la câu trả lời cho Check if a point is inside a plane segment

Vì vậy, thứ hai tôi đoán; nếu đây là một kiểm tra hợp lệ, nó sẽ được tính toán nhanh hơn so với sử dụng biến đổi ma trận nếu tất cả tôi muốn là để xem nếu điểm là trên máy bay? (và không cho dù nó nằm trong một đa giác trên mặt phẳng nói trên, tôi có thể sẽ tiếp tục sử dụng phép biến đổi ma trận cho điều đó)

Trả lời

7

Bạn đúng là B nằm trên mặt phẳng qua A và P bình thường nếu và chỉ khi dotProduct (AB , P) = 0.

Để ước tính tốc độ cho loại điều này, bạn có thể đếm được nhiều phép nhân. Công thức này chỉ có ba phép nhân, do đó, nó sẽ nhanh hơn nhiều so với bất kỳ điều gì liên quan đến ma trận.

+0

Bạn có thể đăng ví dụ về dữ liệu/toán học không? Cụ thể để trả lời tiêu đề của câu hỏi là kết quả hàng đầu cho một noob như bản thân tôi, những người đang cố gắng tìm hiểu cách thực hiện loại so sánh này ngay từ đầu; chăm sóc ít hơn nhiều nếu nó được tối ưu hóa và tốn kém như thế nào. – ThorSummoner

+0

@ThorSummoner: Toán học không quá tệ. Lưu ý rằng trong bối cảnh này, bình thường chỉ có nghĩa vuông góc. Bình thường đối với mặt phẳng, theo định nghĩa, vectơ vuông góc với tất cả các vectơ nằm trong mặt phẳng. Vì A nằm trong mặt phẳng, A - B (hoặc B - A) là một vectơ trong mặt phẳng. Vectơ đó vuông góc với P nếu và chỉ khi dotProduct (A-B, P) = 0. Điều đó có giúp ích gì không? –

+0

Điều gì về khoảng cách của máy bay từ nguồn gốc? Điều đó sẽ phải được đưa vào tài khoản cho điều này là chính xác. –

0

Các câu trả lời ở trên gần bằng chứng hơn, nhưng không đủ. Nó nên trực quan mà chỉ sử dụng hai vectơ là không đủ vì một điểm P có thể nằm trên mặt phẳng và một đường thẳng đứng được vẽ từ mặt phẳng đến mặt phẳng sẽ tạo ra một sản phẩm không dấu chấm với bất kỳ vector đơn nào nằm trên mặt phẳng, giống như nó sẽ cho một điểm P trên mặt phẳng. Điều kiện cần và đủ là nếu hai vectơ có thể được tìm thấy trên máy bay thì máy bay thực tế được thể hiện một cách rõ ràng bởi các sản phẩm ngang của hai vectơ ví dụ: w = u x v. Theo định nghĩa, w là vectơ khu vực, là luôn là vuông góc với mặt phẳng.

Sau đó, cho các điểm P trong câu hỏi, xây dựng một vectơ thứ ba s từ một trong hai u hoặc v nên được kiểm tra chống w bởi sản phẩm dot, s.t.

w. s = | w || s | cos (90) = 0 có nghĩa là điểm P nằm trên mặt phẳng được mô tả bởi w, đó là lần lượt mô tả bởi vectơ uv.