[멀티미디어응용수학] 2. 내적과 내적의 응용

2023. 10. 11. 10:18·CS/멀티미디어응용수학
반응형

지난 글에서는 벡터로 표현한 서로 다른 두 직선의 교점을 구하는 방법을 정리하여 보았다.

이번 글에서는 내적의 개념과 내적의 응용 예시들을 정리해보겠다.


내적의 정의

벡터 a = (ax, ay, az), 벡터 b = (bx, by, bz) 라고 할 때,

벡터 a 와 벡터 b 의 내적은 아래와 같다.

a · b = ax * bx + ay * by + az * bz

 

또한 내적의 정의로부터 벡터 a 의 크기와 같은 두 백터를 내적한 값은 같다.

 

만약 두 백터 a, b의 크기와 두 벡터가 이루는 사이각을 안다면 아래와 같이 구할 수도 있다.

 

a · b = ||a|| * ||b|| * cos(세타)

 

이 식으로부터 내적은 일종의 '투사' 개념이며, 관점바꾸기에 사용됨을 이해할 수 있다.

벡터 a 를 벡터 b 의 방향으로 그림자를 내린 뒤 (투사), a의 그림자 크기와 b의 크기를 곱한 것이 내적이다.

만약 벡터 b 가 단위벡터라면, 벡터 a 를 벡터 b 의 방향으로 투사했을 때 그림자 크기가 될 것이다.

 

그리고 이를 이용하면, 두 벡터의 내적과 각각의 크기를 알 때 사이각을 역으로 구해낼 수도 있다.

또한 내적에 cos 값이 들어가기에, 각 벡터의 크기가 0 이 아닐 때, 두 벡터의 내적이 0 이면, 두 벡터는 서로 수직임을 알 수 있다.

 

내적의 결과값은 방향이 없는 스칼라값이며, 내적은 연산 순서가 바뀌어도 결과값은 같다. (교환법칙 성립)


내적의 응용

수업에서 소개한 내적의 응용 방법은 5가지가 있었다.

하나씩 정리하여보겠다.

 

1. 투사

파란색 A 좌표계 관점으로 바라보는 사람과 하얀색 B 좌표계 관점으로 바라보는 사람이 있다고 하자.

A 좌표계와 B좌표계는 45도만큼 돌아가있다.

이 상황에서 B 좌표계로 보는 사람이 A 좌표계 위의 (1, 0) 점을 바라보면, 이 점의 B좌표계에서 위치가 어디일까?

이렇게 A 좌표계 위의 점을 B 좌표계로 투사시켜 그 위치를 알고자 할 때, 내적을 사용할 수 있다.

 

A 좌표계 기준으로 해당 점이 (1, 0) 이고, B 좌표계는 A 좌표계와 45도 만큼 돌아가 있으니 cos 45도 를 넣고,

구하는 것이 A 좌표계의 점을 B 좌표계의 x축으로 투사시켰을 때, x 좌표 이므로, B 좌표계의 x축방향 단위벡터인 (1,0) 을 넣어 내적을 구하면 1 * 1 * cos45 = 1/루트2 가 된다.

 

Y축에 대해서도 똑같이 투사시켜 B좌표계에서 y 성분을 구하면 A좌표계에 대해 위치를 나타낸 점이 B 좌표계에서는 어떤 위치에 있는지 구체적인 위치 좌값을 구할 수 있다.

 

2. 사이각 계산

 

a · b = ||a|| * ||b|| * cos(세타)

 

위 식으로 부터, 내적값을 알면 역으로 사이각을 구할 수 있다.

사이각은 밝기, 명암 결정 등에 사용된다.

(빛이 비스듬하게 들어올 수록 더 어두워짐)

 

3. 다각형과 선의 만남

(추가 예정)

 

4. 다각형 내부/외부 판단

(추가 예정)

 

5. 직선 표현

우리가 사용하는 직선식을 우변이 0이 되도록 표현하면 보통 아래와 같이 표현한다.

 

ax + by + c = 0

 

위와 같은 표현식을 아래 벡터 식을 역으로 이용하여 벡터로 표현할 수 있다.

 

a · b = ax * bx + ay * by + az * bz

 

ax + by + c = 0

a*x + b*y + c*1 = 0

 

(a, b, c) · (x, y, 1) = 0

 

이렇게 직선식을 벡터로 표현하게 되면, 상수항을 표현하기 위해, x, y 이외에 1이라는 상수가 추가된다.

위와 같이 변수의 개수보다 하나 더 많은 항을 사용하여 표현하는 방식을 Homogeneous 방식이라고 한다.

 

물론 상수항 없이도 벡터로 표현할 수 있다.

이 경우, 벡터 표현식을 기하적으로도 이해할 수 있게 된다.

 

ax + by = d

(a, b) · (x, y) = d

 

이 의미는 (a, b) 벡터로 투사시킨 임의 위치벡터 (x, y) 의 그림자 길이가 모두 d 로 동일하다는 의미이다.

위 이미지에서 파란색 벡터가 (a, b) 벡터이고, 파란색 벡터의 크기, 즉, 원점부터 직선까지의 최단거리는 d 가 된다.

빨간색 백터가 임의점 (x, y) 벡터의 위치벡터이다.

파란색 벡터위로 임의 점 (x, y) 를 투사시킬 때, 그 그림자의 길이가 d 로 동일한 (x, y) 점들의 집합을 직선이라고 볼 수 있다.


지금까지 벡터의 내적과 그 응용 5가지에 대해 정리하여 보았다.

벡터의 내적은 직선식의 표현 뿐만 아니라 이후 평면식의 표현으로도 확장이 가능하다.

또 내적의 결과값의 부호를 통해 특정 영역에 어떤 점이 들어있는지, 들어있지 않은지 판별하는 것도 가능하다.

 

다음 글에서는 외적과 외적을 이용한 평면식의 표현에 대해 정리하여 보겠다.

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

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

[멀티미디어응용수학] 5. 입사 벡터로부터 반사 벡터 구하기  (0) 2023.10.17
[멀티미디어응용수학] 4. 직선과 평면, 점 사이의 최단 거리  (0) 2023.10.14
[멀티미디어응용수학] 3. 외적과 외적의 응용  (0) 2023.10.12
[멀티미디어응용수학] 1. 직선의 교점 계산  (1) 2023.10.06
[멀티미디어응용수학] 0. 벡터와 선분 표현  (2) 2023.10.04
'CS/멀티미디어응용수학' 카테고리의 다른 글
  • [멀티미디어응용수학] 4. 직선과 평면, 점 사이의 최단 거리
  • [멀티미디어응용수학] 3. 외적과 외적의 응용
  • [멀티미디어응용수학] 1. 직선의 교점 계산
  • [멀티미디어응용수학] 0. 벡터와 선분 표현
에버듀
에버듀
개발은 좋은데 뭘로 개발할까
  • 에버듀
    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
에버듀
[멀티미디어응용수학] 2. 내적과 내적의 응용
상단으로

티스토리툴바