Кола та квадрати мають єдину певну центральну точку. Однак поняття центру трикутника давно обговорюється. Давніх греків були відомі чотири різні центри:
- Індикатор : перетин бісектрис кута трикутника
- Центроїд : перетин ліній від кожної вершини трикутника до середини його протилежної сторони
- Кругоцентр : перетин перпендикулярних бісектрис сторін
- Ортоцентр : перетин висот трикутника
Пізніше Ейлер довів, що центроїд, циркуляр і ортоцентр є колінеарними в будь-якому трикутнику. Лінія, на якій ці три точки знаходяться в трикутнику, називається лінією Ейлера . Він визначається для кожного трикутника, крім рівностороннього трикутника, де всі точки збігаються.
Ваша задача полягає в тому, щоб створити найкоротшу програму або функцію, яка при двох входах видає певний центр або лінію Ейлера трикутника. Перша вказує координати кожної вершини трикутника. Друге - це ціле число від 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)
як це НЕ можливо створити рівносторонній трикутник на координатної площині , використовуючи тільки ціле число координат.