아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

세 구와 사면체

시간 제한1초메모리 제한1024 MB

요약
꼭짓점 O, A, B, C를 가진 사면체가 주어졌을 때, 내접구와 네 개의 방접구에 접하면서 A, B, C를 지나는 구의 중심과 반지름을 구합니다.
난이도

어려움10점 중 8점

유형
기하, 수학, 구현
정답자
아직 제출이 없습니다

문제

꼭짓점 OO, AA, BB, CC를 가진 사면체 OABCOABC가 주어진다.

구 S1S1(빨간색, 중심 Q1Q1)은 사면체에 내접하며, 면 OABOAB(회색), OACOAC(갈색), OBCOBC(자홍색), ABCABC(청록색과 검은색)의 안쪽에 각각 접한다.

두 번째 구 S2S2(초록색, 중심 Q2Q2)는 OABOAB, OACOAC, OBCOBC의 (연장된) 안쪽과 ABCABC의 바깥쪽에 접한다. 이런 구는 면마다 하나씩 있으며, 그 면의 바깥쪽과 나머지 연장된 면들의 안쪽에 접한다.

세 번째이자 가장 큰 구 S3S3(파란색, 중심 Q3Q3)은 꼭짓점 AA, BB, CC를 지나고, S1S1과 S2S2에 각각 접한다. 작은 구들의 바깥쪽이 가장 큰 구의 안쪽에 닿는다. 삼각형 ABCABC는 첫 번째 그림에서는 청록색, 두 번째 그림에서는 검은색으로 표시했다.

그림 1은 이 배치를 두 가지 다른 시점에서 보여준다.

그림 2는 OAOA 방향에서 본 모습으로, 두 작은 구가 OABOAB와 OACOAC에 접한 것을 보여준다(왼쪽). BCBC 방향에서 본 그림은 두 작은 구가 OBCOBC에 접하고, ABCABC의 서로 반대편에 있음을 보여준다(오른쪽).

그림 3은 S3S3가 AA, BB, CC를 지나고 S1S1, S2S2에 접하는 모습이다. 왼쪽은 AA, BB, Q3Q3의 평면에 수직인 방향에서 본 것으로, S3S3가 AA와 BB를 지난다. 가운데는 AA, CC, Q3Q3의 평면에 수직인 방향에서 본 것으로, S3S3가 AA와 CC를 지난다. 오른쪽은 Q1Q1, Q2Q2, Q3Q3의 평면에 수직인 방향에서 본 것으로, S1S1과 S2S2가 S3S3의 안쪽에 접한다.

꼭짓점 OO, AA, BB, CC를 입력받아 큰 구의 중심과 반지름을 구하는 프로그램을 작성하라. 나머지 두 구를 구하는 과정도 여기에 포함된다.

입력

OO는 원점 (0,0,0)(0,0,0)이다. AA는 양의 xx축 위의 (Ax,0,0)(Ax,0,0)에 있고, BB는 xyxy 평면 위의 (Bx,By,0)(Bx,By,0)에 있다. CC는 제1 옥탄트의 (Cx,Cy,Cz)(Cx,Cy,Cz)에 있다. AxAx, ByBy, CzCz는 0보다 크고, 나머지 값은 0 이상이다.

입력은 한 줄이며, 배정밀도 실수 여섯 개 AxAx, BxBx, ByBy, CxCx, CyCy, CzCz가 이 순서대로 주어진다. 조건은 0<Ax,By,Cz≤100 < Ax, By, Cz \le 10이고 0≤Bx,Cx,Cy≤100 \le Bx, Cx, Cy \le 10이다.

출력

출력은 한 줄이며, 큰 구의 center_xcenter\_x, center_ycenter\_y, center_zcenter\_z, radiusradius를 소수점 아래 넷째 자리까지 출력한다.

예제2

  1. 예제 1

    입력
    2 3 2 3 1 4
    
    예상 출력
    2.8563 0.8218 1.8305 2.1816
    
  2. 예제 2

    입력
    1 0 2 0 0 3
    
    예상 출력
    1.0000 1.2500 1.6667 2.0833