만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

3차원 기하

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

요약
축에 정렬된 사면체와 정육면체가 주어질 때, 두 입체가 겹치는 부분의 부피를 구합니다.
난이도

보통10점 중 7점

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

문제

축에 평행한 사면체(삼각뿔) DABCDABC는 다음 꼭짓점으로 이루어진 3차원 볼록 다면체이다.

  • D:(x1,y1,z1)D: (x_1, y_1, z_1)
  • A:(x2,y1,z1)A: (x_2, y_1, z_1)
  • B:(x1,y2,z1)B: (x_1, y_2, z_1)
  • C:(x1,y1,z2)C: (x_1, y_1, z_2)

축에 평행한 정육면체 PQRSDEFGPQRSDEFG도 볼록 다면체이며, 꼭짓점은 다음과 같다.

  • P:(x3,y3,z3)P: (x_3, y_3, z_3)
  • Q:(x3,y3,z4)Q: (x_3, y_3, z_4)
  • R:(x3,y4,z3)R: (x_3, y_4, z_3)
  • S:(x3,y4,z4)S: (x_3, y_4, z_4)
  • D:(x4,y3,z3)D: (x_4, y_3, z_3)
  • E:(x4,y3,z4)E: (x_4, y_3, z_4)
  • F:(x4,y4,z3)F: (x_4, y_4, z_3)
  • G:(x4,y4,z4)G: (x_4, y_4, z_4)

사면체 DABCDABC와 정육면체 PQRSDEFGPQRSDEFG의 교집합의 부피를 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 파일의 끝(EOF)에서 끝난다. 각 테스트 케이스는 4줄로 이루어지고, ii번째 줄에는 정수 xix_i, yiy_i, ziz_i가 주어진다.

출력

각 테스트 케이스마다 부피를 실수로 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6}을 넘지 않으면 정답으로 인정한다.

제한

  • 각 1≤i≤41 \le i \le 4에 대해 −500≤xi,yi,zi≤500-500 \le x_i, y_i, z_i \le 500
  • x1≠x2x_1 \neq x_2, y1≠y2y_1 \neq y_2, z1≠z2z_1 \neq z_2
  • x3≠x4x_3 \neq x_4, y3≠y4y_3 \neq y_4, z3≠z4z_3 \neq z_4
  • 테스트 케이스의 수는 10510^5를 넘지 않는다.

예제1

  1. 예제 1

    입력
    0 0 0
    1 1 1
    0 0 0
    1 1 1
    0 0 0
    2 2 2
    0 0 0
    1 1 1
    0 2 0
    2 0 2
    1 0 1
    0 1 0
    
    예상 출력
    0.166666667
    0.833333333
    0.166666667