Задача: Три произвольно заданных точки лежат на окружности. Составить на Паскале программу опредения координат центра этой окружности.
На чем я застрял: раз три точки - ежику ясно: вершины треугольника с описанной вокруг него окружностью. Стороны, площадь, радиус - пожалуйста, не проблема вычислить, т.к. координаты точек есть. Но что дальше? ](*,)
В методичке даже близко подобного ничего нету, включив логику и остатки знаний по геометрии, вторую неделю бьюсь с идеей нахождения через серединные перпендикуляры к сторонам.
Т.е. если одну сторону получившегося треугольника представить, как часть графика функции Y=kX+b, то перпендикуляр, если не ошибаюсь, будет Yp=-X/k+b (так?). Если добавить поправочный коэф-т, чтоб при Хсреднем давал Yсреднее - формула серединного перпендикуляра готова. Но как найти точку пересечения этих самых перпендикуляров (aka центр окружности) - вообще идей нету, школьная математика успела вылететь напрочь за эти годы. Да и было ли оно такое в школе?
А может есть более простой алгоритм? Задачка-то считается обычной контрольной для заочников, всего лишь второе задание из 4, причем остальные три я расщелкал как орешки...
Ой, что енто....
по почте проще прилетело, но тута не казало
--== Михаил ==--
mikkey
эт я стормозил )))) Там x=f(y) получается, а не ответ - я просто забыл поменять во втором уравнении x1 -> x2 А тупая Maple чего-то там посчитала
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Помнится когда в политехе математик наш (клаасный мужык кстати) организовал нам посещение кампутарног класса, а тогда нормальные компы только начали появляться (386-ые ) мы на маткаде интегральчики всякие решали - он тоже выдавал такой ответ, что и сам упростить не мог, в ручную намного проще получалось
--== Михаил ==--
mikkey
ну, с тех пор программы шагнули далеко. И моя любимая сейчас - Maple (нынче сижу на 9.5, а последняя - 10-ка). Конечно, дико большим интеллектом она не отличается, но много что делает сама. А если не нравится, то всегда ей можно сказать "а, ну, упрости-ка ты мне вот энто выражение". Обычно прокатывает.
Добавлено спустя 2 минуты 9 секунд:
PS: а правильный ответ выше и так в удобоваримом виде) Разве, что если на формулу для радиуса не глядеть
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Индейская изба фигвам получается...
Беру 3 произвольных точки в квадрате 400*400, например:
119,85
257,201
166,279
И выходит, что центр окружности будет примерно в 241,206, т.е. в аккурат рядом со второй точкой...
Даже программку на Дельфях накидал, что убедиться
Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь
ИМХО такими преобразованиями лучше заниматься непосредственно перед выводом на экран
ПС [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.
Да честно говоря - пофиг. Точки-то, по условию задачи, должны быть произвольно взятые, так что их координаты никакой роли не играют, если формула верна.
Даже если не отнимать - просто переворот графика получается, но вычисленный центр окружности по-любому не в центре.
Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь
DanZer
формулу из Maple юзал?
Добавлено спустя 7 минут 31 секунду:
PS: все равно Maple рулит. Не надо формулу перенабивать вручную в паскаль, т.к. прога умеет делать сама преобразование в Сишный код
а на паскале перебить это уже не проблема.
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
По моим формулам:
ПС [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.
xKVtor
решпект. Только выражение для X0 я бы написал выше выражения Y0, иначе не сразу видно, что у тебя Y0 = f(X0)
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Отправить комментарий