[멀티미디어응용수학] 6. 삼각형 평면에 쏜 광선의 충돌 판단

2023. 10. 19. 01:31·CS/멀티미디어응용수학
반응형

이제 지금까지 배운 내용을 응용해보자

 어떤 세 점이 주어질 때, 그 세 점을 삼각형으로 하는 평면을 결정할 수 있다.

임의 지점에서부터 주어진 방향으로 광선을 쏘았을 때, 그 광선이 삼각형에 맞았는지 어떻게 알 수 있을까?

 

이는 아래와 같은 방법으로 계산할 수 있다.

 

1. 평면식을 구한다. (세 점으로부터 둘레 벡터 구하고, 둘레벡터의 외적과 세 점중 하나로 평면식 결정)

2. 광선의 직선식을 구한다.

3. 광선의 직선식과 평면식의 교점을 구한다.

4. 교점이 삼각형 내부에 있는지 체크한다.

(각 삼각형 선분마다, 그 선분을 포함하고 삼각형평면에 수직인 평면식을 짜고, 그 평면식 위의 임의 점 A 에서 평면식의 법선벡터를 내적했을 때 양수임이 모든 선분에서 확인되면 내부에 있다고 볼 수 있다.)

 

내적의 응용파트에서 내부 외부 테스트를 외적을 통해 할 수 있다고 했다.

그 과정을 따라가보자.


삼각형을 이루는 세 점은 평면식을 구하기 쉽게 (1, 0, 0), (0, 1, 0), (0, 0, 1) 으로 두겠다.

또 광선의 시작점은 (0, 0, 10), 광선 방향은 -z 축 방향이라고 하자.

그렇다면 교점은 (0, 0, 1) 이 될 것이고, 이는 삼각형 내부에 있다고 볼 수 있다.

(정확히는 경계에 있다. 경계를 내부로 볼지 말지는 정하기 나름이다.)

 

1. 평면식 구하기

평면식은 x + y + z = 1 로 간단히 나온다.

외적을 통해 평면식을 구하는 과정은 외적의 응용 글에서 정리하였으므로 생략한다.

 

2. 광선의 직선식 구하기

(0, 0, 10) + (0, 0, 1)*t = (0, 0, t+10)

 

3. 광선과 평면의 교점 구하기

0 + 0 + (t+10) = 1

t = -9

 

이를 직선식에 대입하면 (0, 0, 1) 이 교점이고, 우리가 알고 있는 교점과 같다.

 

4. 교점의 내부테스트

여기가 핵심이다.

이 부분은 필기를 이용해서 정리하였다.

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > 멀티미디어응용수학' 카테고리의 다른 글

[멀티미디어응용수학] 5. 입사 벡터로부터 반사 벡터 구하기  (0) 2023.10.17
[멀티미디어응용수학] 4. 직선과 평면, 점 사이의 최단 거리  (0) 2023.10.14
[멀티미디어응용수학] 3. 외적과 외적의 응용  (0) 2023.10.12
[멀티미디어응용수학] 2. 내적과 내적의 응용  (0) 2023.10.11
[멀티미디어응용수학] 1. 직선의 교점 계산  (1) 2023.10.06
'CS/멀티미디어응용수학' 카테고리의 다른 글
  • [멀티미디어응용수학] 5. 입사 벡터로부터 반사 벡터 구하기
  • [멀티미디어응용수학] 4. 직선과 평면, 점 사이의 최단 거리
  • [멀티미디어응용수학] 3. 외적과 외적의 응용
  • [멀티미디어응용수학] 2. 내적과 내적의 응용
에버듀
에버듀
개발은 좋은데 뭘로 개발할까
  • 에버듀
    Blog. 에버듀
    에버듀
  • 전체
    오늘
    어제
    • 분류 전체보기 (615) N
      • 개인 프로젝트 (43)
        • 토이 프로젝트 (3)
        • [2020] 카카오톡 봇 (9)
        • [2021] 코드악보 공유APP (22)
        • [2022] 유튜브 뮤직 클론코딩 (9)
        • [2025] 한글 SQL 데이터베이스 (0)
      • 팀 프로젝트 (22)
        • [2020] 인공지능 숫자야구 (4)
        • [2022] OSAM 온라인 해커톤 (10)
        • [2024] GDSC 프로젝트 트랙 (6)
        • [2025] 큰소리 웹 페이지 (2)
      • CS (335)
        • 자료구조 (19)
        • 어셈블리 (41)
        • 멀티미디어응용수학 (7)
        • 컴퓨터 구조 (29)
        • 알고리즘 분석 (4)
        • 컴퓨터 네트워크 (38)
        • 프로그래밍언어론 (15)
        • HCI 윈도우즈프로그래밍 (26)
        • 기초데이터베이스 (29)
        • 운영체제 (23)
        • 오토마타 (24)
        • 문제해결기법 (11)
        • 블록체인 (22)
        • 소프트웨어공학 (21)
        • 기계학습심화 (12)
        • 컴퓨터그래픽스와 메타버스 (8)
        • 분산시스템특론 (6)
      • 자기계발 (45) N
        • 생각 정리 (23) N
        • 대외활동 (11)
        • 동아리 (7)
        • 자격증 (3)
        • 머니 스터디 (1)
      • 알고리즘 (PS) (107)
        • BOJ (101)
        • Programmers (5)
        • 알고리즘 이모저모 (1)
      • WEB(BE) (8)
        • express.js (1)
        • Spring & Spring Boot (7)
      • WEB(FE) (2)
        • html, css, js (1)
        • React.js (1)
      • Tool & Language (6)
        • Edit Plus (1)
        • Git (1)
        • Python3 (2)
        • Java (2)
      • Infra (12)
        • AWS (1)
        • Oracle Cloud (8)
        • Firebase (2)
        • Network (1)
      • Android (18)
        • Java (6)
        • Flutter (12)
      • Window (2)
        • Visual Studio 없이 WPF (1)
        • MFC (1)
      • 독서 (14)
        • Inside Javascript (7)
        • Database Internals (6)
        • 한 글 후기 (1)
  • 링크

    • github
    • website
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에버듀
[멀티미디어응용수학] 6. 삼각형 평면에 쏜 광선의 충돌 판단
상단으로

티스토리툴바