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

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

다각형 회전

시간 제한2초메모리 제한512 MB

요약
볼록 다각형과 이를 지나갈 수도 있는 회전축이 주어질 때, 다각형을 축 둘레로 회전시켜 생기는 입체의 부피를 절대오차 0.1 이내로 구한다.
난이도

보통10점 중 7점

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

문제

2차원 평면 위에 N개의 꼭짓점 p1,…,pNp_1, \dots, p_N을 가진 볼록 다각형과 직선 LL이 주어진다. 이 볼록 다각형을 축 LL을 중심으로 회전시키면 3차원 회전체를 만들 수 있다. 이 회전체의 부피를 계산하라.

축 LL이 볼록 다각형의 외부에 있을 때는 다음 정리 덕분에 훨씬 쉽다. 그러나 축이 볼록 다각형과 교차할 수도 있다는 점에 주의해야 한다.

파푸스의 제2정리: 외부의 축을 중심으로 평면 도형을 회전시켜 만든 회전체의 부피 VV는 그 도형의 넓이 AA와 도형의 기하학적 중심 xx가 이동한 거리의 곱과 같다.

V=Ad2=2πAxV = Ad_2 = 2\pi Ax

그림 5: 회전 예시

입력

입력의 첫 줄은 테스트 케이스의 수를 나타내는 양의 정수 TT이다. 각 테스트 케이스의 첫 줄은 볼록 다각형의 꼭짓점 수를 나타내는 양의 정수 NN (2<N≤1002 < N \le 100)이다. 이어서 NN개의 줄이 주어진다. ii번째 (1≤i≤N1 \le i \le N) 줄에는 볼록 다각형의 꼭짓점 좌표를 시계 방향으로 나타내는 두 실수 XiX_i (0≤Xi≤100000 \le X_i \le 10000), YiY_i (0≤Yi≤100000 \le Y_i \le 10000)가 주어진다. 마지막으로 축의 방정식 Ax+By+C=0Ax + By + C = 0을 나타내는 세 실수 A,B,CA, B, C (−1000≤A,B,C≤1000-1000 \le A, B, C \le 1000)가 주어진다.

출력

출력은 TT개의 줄로 이루어지며, 테스트 케이스마다 한 줄씩 출력한다. 각 줄에는 회전체의 부피 VV를 나타내는 실수 하나를 출력하며, 오차는 0.10.1 이하여야 한다.

예제1

  1. 예제 1

    입력
    2
    4
    0 0
    0 1
    1 1
    1 0
    1 0 0
    4
    0 0
    0 1
    1 1
    1 0
    2 0 -1
    
    예상 출력
    3.1
    0.8