원과 사각형에는 하나의 명확한 중심점이 있습니다. 그러나 삼각형 중심의 개념은 오랫동안 논의되었습니다. 고대 그리스인들에게 네 가지 센터가 알려졌습니다.
- 중심 : 삼각형의 각도 이등분선의 교차점
- 중심 : 삼각형의 각 꼭짓점에서 반대쪽의 중간 점까지의 선의 교차점
- 둘레 중심 : 측면의 수직 이등분선의 교차점
- Orthocenter : 삼각형 고도의 교차점
오일러는 나중에 중심, 둘레 중심 및 직교 중심이 어떤 삼각형에서도 동일 선상에 있음을 증명했습니다. 이 세 점이 삼각형에있는 선을 오일러 선 이라고합니다 . 모든 점이 일치하는 정삼각형을 제외한 모든 삼각형에 대해 정의됩니다.
두 개의 입력이 주어지면 특정 센터 또는 삼각형의 오일러 라인을 출력하는 가장 짧은 프로그램이나 함수를 만드는 것이 도전입니다. 첫 번째는 삼각형의 각 꼭짓점의 좌표를 지정합니다. 두 번째는 1에서 5까지의 정수이며 출력 대상을 결정합니다.
1 - Incenter
2 - Centroid
3 - Circumcenter
4 - Orthocenter
5 - Equation of Euler Line
(if the Euler Line is vertical, output the `x` value of the line
(e.g. output `5` if the equation of the line is `x = 5`))
주어진 정점이 결코 동일 선상에 있지 않을 것이고 항상 정수 좌표가 될 것이라고 가정 할 수 있습니다 ( @ R.Kap의 설명에 따라 등변 삼각형을 입력으로 사용할 가능성을 배제합니다 ).
입력 배열은 사용자 언어로 유효한 중첩 배열이어야하며 입력은 적절한 형식이어야합니다. 부동 소수점 값은 소수점 이하 3 자리 이상으로 표시해야합니다. 출력 포인트는 입력 형식과 일치하는 언어로 유효한 배열이어야합니다.
테스트 사례 :
Input: [(-2, 0), (1, 0), (0, 1)] 1
Output: (-0.089, 0.451)
Input: [(-2, 0), (1, 0), (0, 1)] 2
Output: (-0.333, 0.333)
Input: [(-2, 0), (1, 0), (0, 1)] 3
Output: (-0.5, -0.5)
Input: [(-2, 0), (1, 0), (0, 1)] 4
Output: (0, 2)
Input: [(-2, 0), (1, 0), (0, 1)] 5
Output: 5x + 2
설명 : 입력은 stdin에서 시작하거나 공백 또는 줄 바꾸기로 분리되거나 함수에 대한 인수로 사용될 수 있습니다. 그러나 출력은 stdout에 기록되어야합니다.
y=f(x)
.
(if the triangle is equilateral, output the point at which the centers meet)
그대로 하지 좌표 정수를 이용하여 좌표 평면 정삼각형을 만들 수 있습니다.