이것도 이전과 마찬가지로, 정답의 상황을 그려주고 마무리하면 되겠다. 풀이과정에는 특별한 지식이 필요하지 않다.
기하와 벡터 문제 29번.
두 초점이 $F(c,0), F'(-c, 0) ( c > 0)$인 쌍곡선 $x^2 - \frac{y^2}{35}=1$이 있다. 이 쌍곡선 위에 있는 제 1사분면 위의 점 $P$에 대하여 직선 $PF'$ 위에 $\overline{PQ} = \overline{PF}$인 점 $Q$를 잡자. 삼각형 $QF'F$와 삼각형 $F'FP$가 서로 닮음 일 때, 삼각형 $PFQ$ 의 넓이는 $\frac{q}{p} \sqrt{5}$ 이다. $p+q$의 값을 구하시오. (단, $\overline{PF' } < \overline{QF'} $ 이고, $p$와 $q$ 는 서로소인 자연수이다.)
Code
using LinearAlgebra
using Roots
# 기벡 하는 사람들은 초점의 좌표는 바로 구하겠죠
c = 6
Fp = [-c, 0]
F = [c, 0]
function ABC_angle(A::Vector, B::Vector, C::Vector)
AB = norm(A - B)
BC = norm(B - C)
CA = norm(C - A)
acos((AB^2 + BC^2 - CA^2)/(2*AB*BC))
end
function area_triangle(A::Vector, B::Vector, C::Vector)
(x1, y1) = A
(x2, y2) = B
(x3, y3) = C
0.5*abs(x1*(y2 - y3) + x2*(y3 - y1) + x3*(y1 - y2))
end
gridsize = 100000
Px_range = [1+5*i/gridsize for i in 1:gridsize]
Px_to_P(x) = [x, sqrt((x^2 - 1)*35)]
Ps = Px_to_P.(Px_range)
ansP = undef
ansQ = undef
for P in Ps
PF = norm(F - P)
FpP_eq(x) = (P[2] - Fp[2])/(P[1] - Fp[1])*(x + c)
Q(x) = [x, FpP_eq(x)]
h = find_zero(x -> norm(Q(x) - P) - PF, (1.0, 100.0))
Q_ans = Q(h)
angle_FpPF = ABC_angle(Fp, P, F)
angle_FpFQ = ABC_angle(Fp, F, Q_ans)
if abs(angle_FpPF - angle_FpFQ) < 0.0001
ansP = P
ansQ = Q_ans
println("q/p=", area_triangle(P, F, Q_ans) / sqrt(5))
end
end
Output
q/p=10.88819752327801
q/p=10.889234566004859
설명
- 공통문제 14번에서 사용했던 삼각형의 넓이 공식
area_triangle
은 그대로 사용했다 - 점 P의 집합에 대해서, 문제의 조건 $\overline{PQ} = \overline{PF}$를 만족하는 점 $Q$를 구하되, 뒤의 괄호의 문제의 조건에 보면, $\overline{PF'} < \overline{QF'}$ 이므로, Q는 해를 여유롭게 $x > 1.0$ 정도에서 구하고 있다.
- $QF'F$와 $FF'P$가 닮음이려면 각 $F'PF$와 각 $F'FQ$가 같아야 하고, 이를 정답이 되는 조건으로 뽑고 있다. 각을 구할 때에는 세 점의 좌표를 알고있으므로, 코사인 제2법칙을 통해서 구한다
- 정답이 되는 점에서 $q/p$를 출력하면, 위와 같이 $10.889 \approx 98/9$ 이므로 정답은 $107$이 된다
마지막으로 정답이 되는 상황의 그림을 그리고 마무리 하겠다. 정답이 되는 $P$와 $Q$는 각각 $P_{ans}$, $Q_{ans}$로 마킹해 두었고, 쌍곡선을 함께 그려두었다.
Plotting code
using Plots
Psx = (x -> x[1]).(Ps)
Psy = (x -> x[2]).(Ps)
Pnegsx = (x -> -x[1]).(Ps)
function plot_line(A, B; kwargs...)
plot([A[1], B[1]], [A[2], B[2]]; kwargs...)
end
function plot_line!(A, B; kwargs...)
plot!([A[1], B[1]], [A[2], B[2]]; kwargs...)
end
plot_line(Fp, F; primary=false, linewidth=5)
plot_line!(Fp, ansQ; primary=false, linewidth=5)
plot_line!(ansP, F; primary=false, linewidth=5)
plot_line!(F, ansQ; primary=false, linewidth=5)
scatter!(Psx, Psy; xlims=(-10, 10), ylims=(-1, 20), size=(500, 500), markersize=1, label="P")
scatter!(Pnegsx, Psy; xlims=(-10, 10), ylims=(-1, 20), size=(500, 500), markersize=1, primary=false)
scatter!([Fp[1]], [Fp[2]]; markersize=10, markershape=:star5, label="F'")
scatter!([F[1]], [F[2]]; markersize=10, markershape=:star5, label="F")
scatter!([ansP[1]], [ansP[2]]; markersize=10, markershape=:star5, label="P_ans")
scatter!([ansQ[1]], [ansQ[2]]; markersize=10, markershape=:star5, label="Q_ans")
Plotting Output
반응형
'수능문제풀이' 카테고리의 다른 글
2025 수능 수학영역 풀이 - 기하와 벡터 28 (홀수형) (2) | 2024.11.17 |
---|---|
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 |