에서 위키 백과 :
n 개의 꼭짓점 ( x 0 , y 0 ), ( x 1 , y 1 ), ..., ( x n − 1 , y n-1 )에 의해 정의 된 자체 교차하지 않는 닫힌 다각형의 중심 포인트 ( C x , C y ), 여기서
여기서 A 는 다각형의 부호있는 영역입니다.
이 공식에서 정점은 다각형의 둘레를 따라 나타나는 순서대로 번호가 매겨져 있다고 가정합니다. 또한 정점 ( x n , y n )은 ( x 0 , y 0 ) 과 같다고 가정합니다. 즉 , 마지막 경우 i + 1 은 i = 0으로 반복되어야합니다 . 포인트가 시계 방향으로 번호가 매겨지면 위와 같이 계산 된 영역 A 는 음의 부호를 갖습니다. 그러나이 경우에도 중심 좌표가 정확합니다.
- 시계 방향 또는 시계 반대 방향으로 정점 목록이 주어지면 정점으로 표시되는 자체 교차하지 않는 닫힌 다각형의 중심을 찾으십시오.
- 도움이되는 경우 입력을 CW 또는 CCW로만 가정 할 수 있습니다. 필요한 경우 답을 말씀하십시오.
- 좌표는 정수일 필요는 없으며 음수를 포함 할 수 있습니다.
- 입력은 항상 유효하며 3 개 이상의 꼭짓점을 포함합니다.
- 언어의 기본 부동 소수점 데이터 유형에 맞는 입력 만 처리하면됩니다.
- 입력 숫자는 항상 소수점을 포함한다고 가정 할 수 있습니다.
- 입력 정수가
.
또는로 끝나는 것으로 가정 할 수 있습니다.0
. - 입력에 복소수를 사용할 수 있습니다.
- 출력은 가장 가까운 천분의 일까지 정확해야합니다.
예
[(0.,0.), (1.,0.), (1.,1.), (0.,1.)] -> (0.5, 0.5)
[(-15.21,0.8), (10.1,-0.3), (-0.07,23.55)] -> -1.727 8.017
[(-39.00,-55.94), (-56.08,-4.73), (-72.64,12.12), (-31.04,53.58), (-30.36,28.29), (17.96,59.17), (0.00,0.00), (10.00,0.00), (20.00,0.00), (148.63,114.32), (8.06,-41.04), (-41.25,34.43)] -> 5.80104769975, 15.0673812762
좌표 평면에 각 다각형이 너무 많으면 이 페이지 의 "편집"메뉴에서 대괄호없이 좌표를 붙여 넣으십시오 .
이 Polygon Centroid Point Calculator를 사용하여 결과를 확인했습니다 . 한 번에 모든 정점을 입력 할 수 있거나 -
처음 입력 할 때 부호 를 지우려고하지 않은 것을 찾을 수 없습니다 . 사람들이 대답 할 기회를 얻은 후에 사용할 수 있도록 Python 솔루션을 게시하겠습니다.
x
s 및 y
s를 평균 하면 몸 전체에 분산되는 대신 정점에 모든 가중치가 적용됩니다. 첫 번째는 규칙적이기 때문에 작동하기 때문에 두 방법 모두 대칭 중심에 있습니다. 두 번째 방법은 삼각형의 경우 두 방법이 모두 같은 점으로 이어지기 때문에 작동합니다.