문제
내가 가진 문제는 삼각형과 실제로 잘려야하는 귀에서 동굴을 식별 할 수 없기 때문에 발생하는 것입니다.
볼록과 오목한 삼각형의 차이점을 어떻게 알 수 있습니까?
해결책
삼각형은 오목할 수 없습니다. 메쉬가 오목하다는 것을 의미합니까?
나는 당신이 특정 기술에 대해 이야기하고 있다는 것을 깨닫지 못했습니다. 약간의 연구를 한 후에, 나는 당신의 문제가 답을 시도 할만 큼 충분히 이해한다고 생각합니다.
반 시계 방향으로 다각형의 정점을 가로 지르고 있다고 가정 해 봅시다. 우리 가이 순서로 그들을 가로 질러 가면, 다각형의 몸은 항상 왼쪽에있을 것입니다. 우리는 3 개의 정점을 고려하고 있습니다. ㅏ, 비, 그리고 씨. 우리가 광선을 쏘는 것을 상상해보십시오 ㅏ ~을 통해 비. 만약에 씨 그 광선의 왼쪽에 있는데, 이것은 다각형의 일부인 잘 형성된 삼각형입니다. 만약에 씨 그 광선의 오른쪽에 있고, 그것은 부정적인 공간을 나타냅니다.
좋아, 벡터를 만들어 봅시다 V (그게 ㅏ → 비) 그리고 w (그게 비 → 씨). 또한 구성합시다 V', 그것은 V 그러나 90도 CCW 회전. V' = <-v [y], v [x]>
여부를 찾기 위해 씨 왼쪽 또는 오른쪽에 있습니다 V, 우리는 단순히 사이의 각도를 측정하면됩니다 V' 그리고 w. (0, 90) 또는 (270, 360) 내에 있으면 왼쪽에 있습니다. 그것이 (90, 270) 내에 있다면 오른쪽에 있습니다. 이것은 cos (θ)> 0 및 cos (θ) <0에 각각 정확히 일치하기 때문에 편리합니다. 따라서 cos (θ)> 0이면 C는 왼쪽에 있고 cos (θ) <0이면 C는 오른쪽에 있습니다.
우리는 DOT 제품을 사용하여 COS (θ)를 결정하는 데 도움이 될 수 있습니다. cos (θ) = (V' • w) / (mag (V') ⋅ mag (w)). 그러나 실제로 COS (θ)가 필요하지 않으며 표시가 필요합니다 (COS (θ)). 매기 이후V') 및 매그 (w) 둘 다 긍정적이어야하며, 우리는 그것들을 무시할 수 있습니다. 따라서 IF V' • w > 0, C는 왼쪽에 있고 3 점은 다각형의 일부인 삼각형에 해당합니다. 반면에 V' • w <0, c는 오른쪽에 있고 3 점은 다각형 외부의 음의 공간에 해당합니다.
나는 실제로 이것을 간단한 테스트를 넘어서 시도하지 않았지만, 그 (또는 그에 가까운)가 효과가 있다고 생각합니다.
아, 그리고 (나처럼)이 기술에 대해 들어 본 적이없는 다른 사람들을 위해, 당신은 그것에 대해 읽을 수 있습니다. 여기.