Problem Analysis #geometry_28

Union Alpha · Run 1

Python ● execution succeeded
Incorrect
252.93s
14,655 toks

부분 결과 · 오류와 사용량 확인 보류는 채점에서 제외합니다. 오류·답 추출 실패 재시도 기록을 포함하며 원본은 보존했습니다. Python 실행 성공은 수학적 증명 검증을 뜻하지 않습니다.

Problem Statement

그림과 같이 AB‾=CD‾=4\overline{AB}=\overline{CD}=4, BC‾=BD‾=25\overline{BC}=\overline{BD}=2\sqrt5인 사면체 ABCD가 있고, 점 A에서 직선 CD에 내린 수선의 발 H에 대하여 두 평면 ABH와 BCD는 서로 수직이고 AH‾=4\overline{AH}=4이다. 삼각형 ABH의 무게중심을 G라 하고, 점 G를 중심으로 하고 평면 ACD에 접하는 구를 S라 하자. ∠APG=π2\angle APG=\frac\pi2인 구 S 위의 모든 점 P가 나타내는 도형을 T라 할 때, 도형 T의 평면 ABC 위로의 정사영의 넓이는?

[원문 그림의 텍스트 전사] 그림에서 H는 선분 CD 위에 있다. A는 밑면 BCD 밖에 있고, 구 S의 중심 G는 삼각형 ABH 내부에 표시되어 있다.

① π7\frac\pi7 ② π6\frac\pi6 ③ π5\frac\pi5 ④ π4\frac\pi4 ⑤ π3\frac\pi3

최종 답은 선택지 번호 1~5 중 하나를 \boxed{} 안에 쓰세요.

Ground Truth
4
Recorded model response / solution
Reasoning Process

Recorded Python call:

import numpy as np
H=np.array([0,0,0.]); C=np.array([-2,0,0.]); D=np.array([2,0,0.]); B=np.array([0,4,0.]); A=np.array([0,0,4.])
print(np.linalg.norm(B-C), np.linalg.norm(C-D))
G=(A+B+H)/3
print("G",G)
# sphere radius = distance to plane ACD (y=0)
r=abs(G[1]); print("r",r)
# circle: P on sphere center G, and (A-P).(G-P)=0 -> sphere diameter AG
M=(A+G)/2; R=np.linalg.norm(A-G)/2
print("AG",np.linalg.norm(A-G),"R",R)
# plane of circle
n=G-M  # normal direction
d=n@G
dist=abs(n@G-d)/np.linalg.norm(n)
rc=np.sqrt(r**2-dist**2); print("dist",dist,"rc",rc)
# plane ABC normal
n1=np.cross(B-A,C-A); n1/=np.linalg.norm(n1)
n/=np.linalg.norm(n)
cosang=abs(n1@n); print("cos",cosang)
print("area", np.pi*rc**2*cosang)
# numeric check: parametrize circle, project to plane ABC, fit area
# build basis in circle plane
u=np.cross(n,np.array([1.,0,0])); u/=np.linalg.norm(u); v=np.cross(n,u)
pts=[]
cen=G+n*(n@(np.array([0.,0,0])-G)+d)/np.linalg.norm(n)**2 if False else G - n*((n@G-d)/1.0)
# careful: center of circle = G - n_signed*((n@G-d))
ns=n  # unit
cc=G - ns*((ns@G - d))
print("circle center",cc, "check |cc-G|",np.linalg.norm(cc-G), dist)
th=np.linspace(0,2*np.pi,20000)
P=cc+rc*(np.cos(th)[:,None]*u+np.sin(th)[:,None]*v)
# project onto plane ABC along its normal
proj=P - np.outer(P@n1 - (n1@A), n1)
# area of projected ellipse: compute via covariance? use 2D basis
e1=np.cross(n1,np.array([0.,0,1.])); e1/=np.linalg.norm(e1); e2=np.cross(n1,e1)
X=proj@e1; Y=proj@e2
area=abs(np.trapz(X,np.roll(Y,1)))  # shoelace-ish
print("numeric area", area, "semi axes", np.std(X)*2, np.std(Y)*2, "expected", rc**2*np.pi*cosang)
Tool Output
Execution succeeded 4.47213595499958 4.0 G [0. 1.33333333 1.33333333] r 1.3333333333333333 AG 2.9814239699997196 R 1.4907119849998598 dist 0.0 rc 1.3333333333333333 cos 0.18257418583505539 area 1.019686615030307 circle center [0. 1.2024768 1.59504639] check |cc-G| 0.29260409488894495 0.0 <python-tool>:37: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. numeric area 1.0203182743154589 semi axes 1.7282201472934837 0.8290924974354211 expected 1.019686615030307
Reasoning Process

Recorded Python call:

import numpy as np
H=np.array([0.,0,0]); C=np.array([-2.,0,0]); D=np.array([2.,0,0]); B=np.array([0.,4,0]); A=np.array([0.,2,2*np.sqrt(3)])
print(np.linalg.norm(A-B), np.linalg.norm(B-C), np.linalg.norm(B-D), np.linalg.norm(A-H))
G=(A+B+H)/3; print("G",G)
r=abs(G[1]); print("r",r)  # plane ACD: is it y=0? A,H,C,D all y=0? A has y=2. compute plane
n2=np.cross(C-A,D-A); n2/=np.linalg.norm(n2); print("plane ACD normal",n2, "dist G", n2@(G-A))
r=n2@(G-A); r=abs(r); print("r",r)
# circle of P: sphere(G,r) and (A-P).(G-P)=0 => sphere diameter AG
M=(A+G)/2; R=np.linalg.norm(A-G)/2
n=(G-M); n/=np.linalg.norm(n)
d=n@G
cc=G-n*(n@G-d); dist=np.linalg.norm(cc-G)
rc=np.sqrt(max(r*r-dist*dist,0))
print("R",R,"dist",dist,"rc",rc)
n1=np.cross(B-A,C-A); n1/=np.linalg.norm(n1)
cos=abs(n1@n); print("cosang",cos,"area",np.pi*rc*rc*cos)
u=np.cross(n,np.array([1.,0,0.])); u/=np.linalg.norm(u); v=np.cross(n,u)
th=np.linspace(0,2*np.pi,40000)
P=cc+rc*(np.cos(th)[:,None]*u+np.sin(th)[:,None]*v)
proj=P-np.outer(P@n1-n1@A,n1)
e1=np.cross(n1,np.array([0.,0,1.])); e1/=np.linalg.norm(e1); e2=np.cross(n1,e1)
X=proj@e1; Y=proj@e2
area=abs(np.trapezoid(X,np.roll(Y,1)))
print("numeric",area)
Tool Output
Execution succeeded 3.9999999999999996 4.47213595499958 4.47213595499958 3.9999999999999996 G [0. 2. 1.15470054] r 2.0 plane ACD normal [ 0. -0.8660254 0.5 ] dist G -1.1547005383792517 r 1.1547005383792517 R 1.1547005383792515 dist 0.0 rc 1.1547005383792517 cosang 0.25000000000000006 area 1.0471975511965983 numeric 1.0472281959601153
Reasoning Process

Recorded Python call:

import sympy as sp
# symbolic verification with assumed consistent geometry
# H=(0,0,0), C=(-2,0,0), D=(2,0,0), B=(0,4,0)  (BC=BD=2*sqrt5, CD=4)
# A=(0,h*cos? ...) with AH=4 and plane ABH perpendicular to BCD (plane z=0) => A in x=0 plane, A=(0,2,2*sqrt(3))
h=sp.sqrt(12)
A=sp.Matrix([0,2,2*sp.sqrt(3)]); B=sp.Matrix([0,4,0]); C=sp.Matrix([-2,0,0]); D=sp.Matrix([2,0,0]); H=sp.Matrix([0,0,0]); G=(A+B+H)/3
# edge lengths
edges={'AB':(A-B).norm(),'BC':(B-C).norm(),'BD':(B-D).norm(),'CD':(C-D).norm(),'AH':(A-H).norm()}
print(edges)
# radius: distance from G to plane ACD
n2=(C-A).cross(D-A); n2=sp.simplify(n2/n2.norm())
r=sp.Abs(n2.dot(G-A)); print("plane ACD normal",list(sp.simplify(n2))," r =",sp.simplify(r))
# T = great circle of S: sphere with diameter AG intersects S in circle through G, plane perpendicular to AG through G
# normal of circle plane:
n=(G-A); print("AG =",sp.simplify((G-A).norm()))
# angle between circle plane (normal n) and plane ABC (normal n1):
n1=(B-A).cross(C-A); n1=sp.simplify(n1/n1.norm())
cosang=sp.simplify(sp.Abs(n.dot(n1))/ (n.norm()))
print("normal ABC:",list(sp.simplify(n1))," cos(theta) =",sp.simplify(cosang))
area=sp.simplify(sp.pi*r**2*cosang)
print("projected area =",area)
print("float:",float(area))
Tool Output
Execution succeeded {'AB': 4, 'BC': 2*sqrt(5), 'BD': 2*sqrt(5), 'CD': 4, 'AH': 4} plane ACD normal [0, -sqrt(3)/2, 1/2] r = 2*sqrt(3)/3 AG = 4*sqrt(3)/3 normal ABC: [-sqrt(3)/2, sqrt(3)/4, 1/4] cos(theta) = 1/4 projected area = pi/3 float: 1.0471975511965979
Reasoning Process

풀이

좌표 설정 (H를 원점으로, 평면 BCD를 z=0으로):

  • CD 길이 4이므로 C=(−2,0,0), D=(2,0,0); BC=BD=2√5이므로 B=(0,4,0)
  • 두 평면 ABH와 BCD가 수직이므로 A는 평면 ABH(x=0) 안에 있고, AH=4, AB=4이므로 A=(0,2,2√3)

Python으로 검산: 모든 변 조건(AB=4, BC=BD=2√5, CD=4, AH=4)이 정확히 만족됩니다.

구 S: G=(A+B+H)/3=(0,2,2√3/3). 평면 ACD(법선 (0,−√3/2,1/2))까지의 거리 = 접하는 구의 반지름:

r = 2√3/3

도형 T: 조건 ∠APG = π/2, 즉 (A−P)·(G−P)=0은 지름 AG인 구를 정의하므로, T는 구 S와 지름 AG인 구의 교선 — 중심을 지나는 대원, 반지름 r = 2√3/3.

정사영: 대원이 놓인 평면의 법선은 AG 방향, 평면 ABC의 법선 n₁=(−√3/2, √3/4, 1/4). 두 법선 사이 각도의 코사인:

cos θ = 1/4

따라서 정사영 넓이 = πr²cos θ = π·(4/3)·(1/4) = π/3

(수치 적분으로 타원 사영의 넓이 1.0472… 로 교차 검증 완료)

⑤ 5\boxed{5}

Final Model Output
5

Comparative Analysis (Pgeometry_28) (Average across runs)

Averages use reported measurements only. Missing usage is not treated as zero.

Avg Time Taken

Solar Pro 4
568.4
MiMo V2.6 Pro
345.4
Union Alpha
252.9
Motif 3
211.7
Grok 4.7
115.4
Muse Spark 1.3
51.0
DeepSeek V4.1 Flash
38.7
Solar Mini 4 Preview
32.0

Avg Token Usage

Motif 3
51,825
Solar Pro 4
45,242
MiMo V2.6 Pro
31,487
Grok 4.7
23,985
DeepSeek V4.1 Flash
23,333
Solar Mini 4 Preview
18,177
Union Alpha
14,655
Muse Spark 1.3
12,004
    CSAT 2026 · Problem geometry_28 · Union Alpha | EntropyMath