는 점 P와 삼각형을 감안할 때 A, B, C, 컴퓨팅 :
1. the unit normal of triange (A, B, P) - call it N1
2. the unit normal of triangle (B, C, P) - call it N2
(오른쪽 순서를 얻을!)
이제 내적 N1 * N2에 대해 생각합니다. P가 삼각형의 평면에 있고 세면 내부에있는 경우 해당 법선은 평행해야하므로이 내적은 1.0000 (또는 0.999 ...)이됩니다.P가 평면에 유지되지만 측면 BC를 넘어 이동하면 두 법선이 반대가됩니다. N1 * N2 == - 1. P가 평면에 없으면 내적은 중간 값이됩니다. 우리가 여전히 허점을 가지고 있습니다. P가 지나간 CA를 나가면.
3. the unit normal (C,A,P) called N3
은 (이상적으로)이 두 시험 확인 : 우리는 한 번 더 계산해야
N1*N2 == 1.0 ?
N2*N3 == 1.0 ?
(테스트 N3 * N1이 중복) 물론이 테스트는 몇 가지를 허용해야합니다 컴퓨터 산술의 불완전성에 대한 경멸. 요구되는 정확도와 부동 소수점 유형에 따라 ε이 작은 값인 N1 * N2> 1-ε을 찾으십시오.
이러한 단위 법선에 수식이 필요할 수 있습니다. 주어진 (A, B, C) 교차 곱 N = (B-A) x (C-B)를 계산하라. sqrt (N * N)로 나눕니다. 교과서와 위키 백과 등에서 "내적"과 "외적"의 정의를 쉽게 구할 수 있습니다. 대수학에 따라 제곱근에 대한 성능을 향상시킬 수 있습니다.
나는 이것이 가장 빠른 알고리즘 주장하지 않습니다, 그러나 이것은 (구) 게시물에 너무
왜 포인트 목록을 원하는지에 대해 좀 더 자세히 설명해 주실 수 있습니까? 결국 이론적으로 무한한 목록 일 것입니다. – ChrisF
나는 3D 솔리드의 패싯 표시가 있습니다. 내가하려는 것은 각 패싯을 나타냅니다. 3D 그리드 구조 내에서 (기본 보셀 표현). 이렇게하려면,면 (삼각형)을 데이터 포인트 집합으로 표현할 수 있어야합니다 (제 표현의 경우 ...) –
자세히 설명해 주시겠습니까? 점이 삼각형 평면에 있는지 또는 점이 피라미드에 포함되어 있는지 알아야합니다. 옳은? – rein