Координаты центра окружности по трем точкам

Обычно эта задача решается через уравнения круга, но для программирования нужно аналитическое решение (в виде формулы).

Если решать систему уравнений, пытаясь выразить все неизвестные величины через 6 координат известных точек, то можно получить выражения для Xo, Yo и R.

Но вид этих выражений и их последующая реализация в виде программного кода — мягко говоря — не вдохновляют начинать эту работу.

К счастью, есть алгебраический метод, сводящийся к ряду несложных поэтапных расчетов, которые позволяют вычислить искомые неизвестные.

Ниже прилагаю реализацию этого подхода в виде функции на javascript.

Для тех, кому сложно читать код, и нужна чистая математика, привожу алгоритм рассчета:

Даны точки X(x1, y1), Y(x2, y3), Z(x3,y3), принадлежащие окружности с радиусом R и центром U(Cx, Cy).

Ну и останется найти радиус — как расстояние между одной из данных точек и найденным центром окружности.

Написать комментарий

Мало букафф? Читайте есчо !

Олимпиада для пятиклашек

Ноябрь 11, 2012 г.

Дочери (5й класс) на каникулы дали типа олимпиадки порешать. По математике. Ясно, что решают в итоге родители. Хорошо тем, кто в НИИ каком нить работает, или, может, профессорá, завалящиеся доценты с техническим уклоном имеются под рукой. А что делать ...

Читать

Магия чисел

Февраль 14, 2011 г.

Старшая дочь у меня уже ходит в 3й класс общеобразовательной средней школы. Склад ума у неё не лежит к точным наукам, но пока это не мешает ей приносить ...

Читать

 

Комментарии к «Координаты центра окружности по трем точкам»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Координаты центра окружности по трем точкам”

  1. Юрий:

    Алгебраический метод считает неправильно. Надо было посчитать: (-130;130)(200;200)(54.5;-336) дает неверный ответ (79,382;-54,014)

    • YURII:

      Алгебраический метод считает правильно. Точки надо нумеровать в порядке возрастания по часовой стрелке.

      • YURII:

        Алгебраический метод считает правильно независимо от порядка нумерования точек. Ищи ошибку у себя в расчетах.