2013-06-21 1 views
5

주어진 A : 점 B : 평면 P에 존재하는 점 C : 평면 P의 법선 A가 P에 놓여 있는지를 결정할 수 있습니까? (A - B)와 C 사이의 내적 결과는 0입니까? (또는 특정 정도의 정밀도 내에서, 아마도 0.0001f를 사용합니다)내적을 사용하여 점이 평면에 있는지 알아보기

나는 명백한 수학적 결함을 놓치고 있을지 모르지만 포인트를 삼각형의 좌표 공간으로 변환하는 것보다 훨씬 간단하고 빠른 것처럼 보입니다. 라 답은 Check if a point is inside a plane segment

두 번째로 나는 추측한다. 이것이 유효한 체크 인 경우, 포인트가 평면에 있는지보기 만하면 매트릭스 변환을 사용하는 것보다 계산 속도가 빠릅니까? (평면에있는 다각형 안에 있는지 아닌지는 모르겠다.)

답변

7

B가 A를 통해 평면에 있고 B가 normal P 인 경우에 올바른 점은 dotProduct (AB , P) = 0

이런 종류의 속도를 예측하려면 곱셈을 계산하면됩니다. 이 수식은 단지 세 곱셈을 가지므로 행렬과는 아무런 관련이없는 것보다 빠릅니다.

+0

데이터/수학 예제를 게시 할 수 있습니까? 특히 처음부터 이러한 종류의 비교를 수행하는 방법을 배우려는 자신과 같은 멍청한 놈에게 최고의 결과 인 질문의 제목에 대답하는 것. 그것의 최적화되고 얼마나 비싼 지 신경이 덜 간다. – ThorSummoner

+0

@ThorSummoner : 수학은 그리 나쁘지 않습니다. 이 맥락에서, 법선은 수직이라는 것을 의미합니다. 평면에 대한 법선은 정의상 평면에있는 모든 벡터에 수직 인 벡터입니다. A가 평면에 있으므로 A - B (또는 B - A)는 평면상의 벡터입니다. 그 벡터는 P에 수직이고 dotProduct (A-B, P) = 0 인 경우에만 도움이됩니까? –

+0

비행기의 원점과의 거리는 어떻게됩니까? 이것이 정확하기 위해서는이를 고려해야 만합니다. –

0

위의 답은 증명에 더 가깝지만 충분하지 않습니다. 하나의 점 P는 평면 위에있을 수 있고 평면에서 평면으로 그려진 수직선은 평면에있는 단일 벡터가있는 0 점의 곱을 생성하기 때문에 두 개의 벡터 만 사용하면 불충분합니다. 그것은 비행기의 점 P에 대한 것입니다. 필요하고 충분한 조건은 두 벡터는 그 평면에서 볼 수 있다면, 실제 비행기 U X V = 와트 즉 두 벡터의 외적에 의해 명확하게 표현된다는 점이다. 정의에 따라 w은 면적 벡터이며 항상 평면에 수직 인입니다.

이어서, 제 벡터들 중 또는 V이 내적으로대해 테스트되어야 U, s.t.에서 구축 문제의 점 P에 대한

w. s = | w || S | COS (90) = 0 점 P 차례로 벡터 U 및 V하여 설명설명 평면에 놓여 있다는 것을 의미한다.

관련 문제