![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Кузнецов Олег |
![]()
Сообщение
#1
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 51 Регистрация: 26.5.2009 Город: Тверь Вы: другое ![]() |
Здраствуйте. Помогите пожалуйста справиться со школьной задачей:
Даны три точки с кординатами p1(x1,y1), p2(x2,y2), p3(x3,y3). Необходимо найти координаты центра - O(xo,yo) и радиус окружности проходящей терез три точки. (Радиус можно не находить - расстояние от центра до любой точки). По возможности решение должно быть такое, чтобы его можно быстро реализовать в программе. Заранее благодарен. |
![]() ![]() |
tig81 |
![]()
Сообщение
#2
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
А сами что пытались сделать?
|
Кузнецов Олег |
![]()
Сообщение
#3
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 51 Регистрация: 26.5.2009 Город: Тверь Вы: другое ![]() |
Сам я тольо знаю как найти этот центр на бумаге:
1) соединить все точки отрезками 2) от середины отрезка провести перпендикуляр к отрезку 3) точка пересечения перпендикуляров будет центром описанной окружности А как это выразить в формулах уравнения прямых и перпендикуляров прямых в данных точках,, да так чтобы запрогаммировать? |
Евгений М. |
![]()
Сообщение
#4
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент ![]() |
Предлагаю свое решение для ЭВМ.
Для начала нужно проверить лежат ли эти точки на одной прямой (см. http://alexlarin.narod.ru/Ucheb/mamirgr2.html п. 1). Если все точки лежат на одной прямой, то провести окружность невозможно (утверждение не обосновал). Далее пусть координаты центра окружности - (x, y), координаты точек (x1, y1), (x2, y2), (x3, y3), радиус - r. Пусть x1 не равен x2 (Если равен то взять другую пару). Тогда справедливо следующее: (x-x1)^2+(y-y1)^2=r^2 (1) (x-x2)^2+(y-y2)^2=r^2 (2) (x-x3)^2+(y-y3)^2=r^2 (3) Приравняем (1) и (2), затем выразим x через y. Приравняем (1) и (3) (или (2) и (3)), подставляем выражение x и находим y. Через y находим x. Для нахождения радиуса подставляем найденные (x, y) куда-нибудь. |
Евгений М. |
![]()
Сообщение
#5
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент ![]() |
Хотя Ваше решения наверно даже лучше.
Подскажу как реализовать. Через две точки можно составить уравнение прямой (см. википедия). Середину отрезков можно найти. Теперь перпендикуляр. Пусть уравнение прямой имеет вид: x=x0+nx*t y=y0+ny*t Уравнение перпендикулярной к нему прямой проходящий через точку (x0, y0) имеет вид: x=x0-ny*t y=y0+nx*t Про пересечение двух прямых я кое-где уже обсуждал: http://www.cyberforum.ru/geometry/thread157427.html |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 10:57 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru