1. 철수의 기여도 구하기 (각도=60, 철수가 끄는 힘 = 10)


1) 철수와 영희가 각각의 벡터로 어떤 물체를 당긴다고 할 때, 철수의 기여도를 알아보는 문제
(둘의 벡터의 방향이 다르기 때문에 단순히 더할 수 없음)
2)
① import math ← 사칙연산 math 모듈을 불러오겠음
② 10 * math.cos(math.radians(60)) → 벡터 a는 힘 * 각도임
③ 5.0 → 결국 철수는 10의 힘으로 끌었지만 영희를 도와주는데는 반 정도만 기여를 했음
2. 두 직선이 이루는 각도 구하기


1) 벡터의 내적 공식 이용하여 cos 각도 알기
- 위 철수와 영희 그림에서 알 수 있듯이 벡터의 내적 공식은
- 벡터 a ·b = 벡터a의 크기 * cos각도 * 벡터 b의 크기
- 일의 양 = 힘의 크기 x 이동 거리 (벡터a의 크기 * cos각도 = 힘, 벡터b의 크기 = 이동거리)
2)
① import math → math 모듈을 불러오겠음
import numpy as np → numpy 모듈을 np로 불러오겠음
② a = np.array([2,7])
b = np.array([6,1])
c = np.array([2,3])
d = np.array([6,5]) ← 각각 점의 좌표 입력
왜 벡터 구할땐 array로 표현하는지?
③ va = b - a
vb = d - c
→ 각각의 a, b 벡터의 성분 표시
④ norm_a = np.linalg.norm(va)
norm_b = np.linalg.norm(vb)
→ linalg.norm함수는 벡터의 크기를 구하라는 명령어
⑤ dot_ab = np.dot(va, vb) ← 벡터의 내적을 구하라
⑥ cos_th = dot_ab / (norm_a * norm_b) ← cos각도 구하는 벡터의 내적 공식을 변형한 것
rad = math.acos(cos_th) → cos역함수의 각도를 라디안의 단위로 구하기
deg = math.degrees(rad) → 라디안값의 단위를 도수로 표현하기
print(deg) → 각도를 보여라
'파이썬으로 다시 배우는 핵심고등수학 (python) > 04장 : 벡터' 카테고리의 다른 글
| 4-4. 벡터의 외적 (0) | 2021.01.27 |
|---|---|
| 4-2. 벡터 방정식 (0) | 2021.01.27 |
| 4-1. 벡터의 연산 (0) | 2021.01.27 |