2010-04-23 3 views
3

this question 관련 .NET은 libs (또는 함수)를 사용하여 하나의 점이 다른 점과 충돌 하는지를 감지 할 수 있는지 궁금합니다.raytracing에 내장되어 있습니까?

나는 내가 사용해야 각도 만이이

func(point src, rect target, angle, distanceOfVision, listPointOrRectOfWalls) 

같은 일부 기능 예쁜 않을 수 있습니다하지만 난이 공식이나 방법을 시작하는 방법을 잘 모릅니다 무엇인지 모르겠습니다. 그것의 빠르고 더러운 프로토 타입. 나는 func을 작성하려고하지만 시선을 직사각형으로 만들고 각도를 떨어 뜨려서 src와 target 사이에 벽 지점이 있는지 확인합니다.

+0

나는 솔직히 실마리가 없지만 [XNA] (http://www.xna.com/)가 제공하는 것과 같은 것이 될 수 있습니까? –

+0

재미있게하기 : http://tirania.org/blog/archive/2007/Nov-16.html ^^ – tanascius

답변

3

나는 등의 문제를 해결할 것입니다 : 사각형의

  1. 3 점은 사각형에 자리 잡고 비행기를 정의
  2. 을 대신 지점과 각도로 선을 표현,로 나타냅니다. 한 점과 벡터 : source_point + direction_vector * t. t = 1을 설정하면 라인을 정의하는 두 점이 생깁니다.
  3. 비행기와 선의 교차점을 계산하십시오. http://en.wikipedia.org/wiki/Line-plane_intersection
  4. 교차점이 사각형 내에 포함되어 있는지 확인하십시오.
관련 문제