문제

2D에서 다음과 같은 기하학적 문제가 있습니다.

나는 방향과 각도에 의해 주어진 무한 각도 (2d-cone)를 시전 할 지점이 있습니다. (지점과 방향은 벡터를 형성하고 각도의 각 측면에 각도의 절반이 2D-cone을 형성합니다).

이제 2D의 다른 지점 이이 원뿔 안에 있는지 또는 외부인지 확인하고 싶습니다.

이것이 어떻게 달성 할 수 있습니까? 감사해요!

도움이 되었습니까?

해결책

원뿔 중앙에서 쿼리 지점까지 벡터를 계산하십시오. 벡터를 길이 1으로 정규화하고 원뿔의 중심 벡터를 가져 와서 이것을 길이 1로 정규화하십시오.
이제 벡터 사이에서 점 제품을 가져 가십시오. 두 가지 정규화 된 벡터 사이의 도트 제품은 그들 사이의 각도의 코시 누스입니다. 아크 코스를 가져 가십시오 (acos 대부분의 언어에서) Dot 제품의 경우 각도를 얻을 수 있습니다. 이 각도를 원뿔 각도 (설명의 반 각도)와 비교하십시오. 낮은 경우 문제의 지점이 원뿔 안에 있습니다.

이것은 2D와 3D로 작동합니다.

다른 팁

방향의 arctg를 사용하여 방향의 각도를 계산하십시오. 확인 된 지점에서 원점을 분할하십시오. 각도를 계산하고 (정규화 된 벡터의 ARCTG를 통해) 각도 경계 내에 있는지 확인하십시오.

가장 좋은 방법은 원뿔 방향에 수직 인 2D 표면에 포인트를 투사하는 것입니다. 그런 다음 동일한 평면과 지점 사이의 OTHOGOLAL 거리를 계산합니다. 마지막으로, 당신은 그 높이에서 원뿔의 너비를 알고 있으므로 포인트가 그 너비 외부에 있는지 확인할 수 있습니다.

원래 지점에서 지정된 지점까지의 벡터가 중심을 통과하는 정상과 각도를 만듭니다. 각도 A가 원뿔의 반 각도보다 낮 으면 외부 내부에 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top