고등학교 교육과정에서 벡터 외적을 배우는지 안배우는지 모르겠어서 검색을 해봤는데, 정규 교육과정에서 다루고 있는 것 같지는 않다. 그러나 배우든 안배우든 상관없으므로 사용하겠다.
기하와 벡터 문제 28번.
좌표공간에 $\overline{AB} = 8$, $\overline{BC} = 6$, $\angle ABC = \frac{\pi}{2}$인 직각삼각형 $ABC$와 선분 $AC$를 지름으로 하는 구 $S$가 있다. 직선 $AB$를 포함하고 평면 $ABC$에 수직인 평면이 구 $S$와 만나서 생기는 원을 $O$라 하자. 원 $O$위의 점 중에서 직선 $AC$까지의 거리가 $4$인 서로 다른 두 점을 $P, Q$라 할 때, 선분 $PQ$의 길이는?
Code
using LinearAlgebra
# B를 원점 BC를 x축, BA를 y축으로 둔다
B = [0, 0, 0]
C = [6, 0, 0]
A = [0, 8, 0]
# 피타고라스 6, 8, 10
R = 5
O_S = [3, 4, 0]
# 평면의 방정식 [1, 0, 0].*[x, y, z] = 0
# x = 0 이다
# 구 S의 방정식 (x-3)² + (y-4)² + z² = 25
# 원 O의 방정식 (y-4)² + z² = 16, x=0
# 방향벡터 v 이고 점 P를 지나는 직선과 X 사이의 거리
function distance(X::Vector, v::Vector, P::Vector)
norm(cross(P-X, v))/norm(v)
end
O(z) = [0, 4+sqrt(16-z^2), z]
Oneg(z) = [0, 4-sqrt(16-z^2), z]
gridsize = 10000
tol = 4e-4
zs = [-4+8*i/gridsize for i in 0:gridsize]
Os = vcat(O.(zs), Oneg.(zs))
(P, Q) = filter(x -> abs(distance(x, A-C, A) - 4) < tol, Os)
println(P, Q)
ans = norm(P - Q)
ans^2
Output
[0.0, 5.5002453132737985, -3.708][0.0, 5.5002453132737985, 3.708]
54.99705600000001
설명
- 기하 문제가 컴퓨터를 사용하면 풀기 쉬울 것이라고 했는데, 문제에 주어진 조건으로 모든 점의 좌표를 구하는 것은 자동화 하기 쉽기 때문이다
- 변수를 설정하는 것에 대한 설명들은 대부분 코드의 주석에 달아놓았다
- 문제에서 결국 원 $O$ 위의 점과 직선 $AC$ 까지의 거리를 구해야 하는데, 벡터의 외적을 활용할 경우에 결국 방향벡터 $v$이고 점 $P$를 지나는 직선과 점 $X$ 사이의 거리는 $\frac{|\overrightarrow{PX} \times \overrightarrow{v}|}{|\overrightarrow{v}|}$ 로 주어진다
- $AC$와의 거리조건 $4$를 만족하는 두 점의 좌표 $P, Q$도 출력해두었다
- 원 O 위의 점을 샘플링해서, 거리가 4인 두 점 $P, Q$를 찾아주고 거리를 구해주면 된다, 거리가 $\sqrt{55}$로 나온다
반응형
'수능문제풀이' 카테고리의 다른 글
2025 수능 수학영역 풀이 - 기하와 벡터 29 (홀수형) (1) | 2024.11.16 |
---|---|
2025 수능 수학영역 풀이 - 기하와 벡터 30 (홀수형) (0) | 2024.11.16 |
2025 수능 수학영역 풀이 - 공통문제 (21~22, 홀수형) (7) | 2024.11.16 |
2025 수능 수학영역 풀이 - 공통문제 (16~20, 홀수형) (5) | 2024.11.16 |
2025 수능 수학영역 풀이 - 공통문제 (12~15, 홀수형) (1) | 2024.11.15 |