Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Agulikov
0 / 0 / 1
Регистрация: 25.12.2011
Сообщений: 14
#1

Точка Ферма - Free Pascal

25.12.2011, 21:09. Просмотров 1084. Ответов 4
Метки нет (Все метки)

Вам даётся координаты трёх вершин треугольника, нужно вывести координату точки сумма расстояний от которой до всех вершин треугольника была бы минимальной. Данной точкой будет точка Ферма. она строится следующим образо. http://ru.wikipedia.org/wiki/Точка_Ферма . Если кто-нибудь сможет написать код, буду рад за вас, а ещё больше за себя если вы его выложете на форум. Удачи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 21:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Точка Ферма (Free Pascal):

Проверить теорему Ферма для x, y, z из интервала [1..100)
Теорема Ферма утверждает, что не существует решения в целых положительных...

Дана точка М( х,у ). проверить, лежит ли данная точка внутри закрашенной области, представленной на рисунке
Дана точка М( х,у ). проверить, лежит ли данная точка внутри закрашенной...

Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую, попадает ли точка в область
Дана заштрихованная область и точка с координатами (х, у). Написать программу,...

Выяснить принадлежит ли точка с координатами (x, y)лежит ли точка с координатами (x, y), введенными с клавиатуры пользователем, заштрих
Выяснить принадлежит ли точка с координатами (x, y)лежит ли точка с...

Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести О. Если точка не совпадёт с началом координат,
Даны целочисленные координаты точки на плоскости. Если точка совпадает с...

точка и отрезок
помогите написать программу которая выводит на экран точку и отдельно отрезок

4
Kover
1 / 1 / 3
Регистрация: 28.12.2011
Сообщений: 18
05.01.2012, 19:36 #2
Вообще данная задача довольно элементарна. Если учесть, что целевая функция всюду выпукла и вспомнить теорему того же Ферма о производной, то решение получается в явном виде:
Xf:=(X1 + X2 + X3)/3; Yf:=(Y1 + Y2 + Y3)/3;
По указанной в вопросе ссылке описано инструментальное построение точки. Может быть, речь шла о прорисовке этого решения в графике?
0
Kover
1 / 1 / 3
Регистрация: 28.12.2011
Сообщений: 18
11.01.2012, 12:14 #3
Видимо, тема оказалась неинтересной, т.к. к ней никто больше не обратился и не высказал никаких сомнений по поводу предложенного «решения». Между тем, сделанная ошибка довольно характерна, хотя сама задача не представляет особой сложности. Правда, ее решение можно найти из нескольких постановок, в числе которых находится, в частности, и использование принципа механики о минимуме потенциальной энергии. Если же использовать чисто геометрическую постановку, то решение выглядит так.
Без нарушения общности можно положить, что вершины треугольника заданы координатами
A(0; 0), B(X1; Y1), C(X2; 0). К таким координатам можно прийти с помощью аффинных преобразований. Если F(Xf; Yf) – искомая точка Ферма, то получаем задачу о стационарной точке функции двух переменных Xf и Yf :
[(Xf)^2 + (Yf)^2]^1/2 + [(X1 - Xf)^2 + (Y1 - Yf)^2]^1/2 + [(X2 - Xf)^2 + Yf^2]^1/2 → min
(Cимволом ^ обозначено возведение в степень).
Способы решения достаточно хорошо известны и не требуют пояснений. Код численного решения так же не представляет что-либо выдающееся.
0
Agulikov
0 / 0 / 1
Регистрация: 25.12.2011
Сообщений: 14
11.01.2012, 20:58  [ТС] #4
Цитата Сообщение от Kover Посмотреть сообщение
Вообще данная задача довольно элементарна. Если учесть, что целевая функция всюду выпукла и вспомнить теорему того же Ферма о производной, то решение получается в явном виде:
Xf:=(X1 + X2 + X3)/3; Yf:=(Y1 + Y2 + Y3)/3;
По указанной в вопросе ссылке описано инструментальное построение точки. Может быть, речь шла о прорисовке этого решения в графике?
Как данна формула выводится! Я уже то сделал, но я искал её так как написано в вики, строил де окружности и выводил точку пересечения двух прямых, а как вы пришли к данной формуле?
0
Kover
1 / 1 / 3
Регистрация: 28.12.2011
Сообщений: 18
16.01.2012, 12:53 #5
Задача не имеет решения в явном виде, т.е., грубо говоря, в виде формул. "Решение" Xf:=(X1 + X2 + X3)/3; Yf:=(Y1 + Y2 + Y3)/3 является "провокационным".
Правильное решение находится численно из условия
F(Xf,Yf)=[(Xf)^2 + (Yf)^2]^1/2 + [(X1 - Xf)^2 + (Y1 - Yf)^2]^1/2 + [(X2 - Xf)^2 + Yf^2]^1/2 → min,
которое является математической записью условия задачи. Вычисляются частные производные от
F(Xf,Yf) по Xf и Yf и приравниваются нулю. В результате получается система двух нелинейных уравнений относительно Xf и Yf, содержащих радикалы.
0
16.01.2012, 12:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2012, 12:53
Привет! Вот еще темы с решениями:

Точка с координатами
Даны действительные числа x,y.Определить принадлежит ли точка с координатами...

Попадает ли точка
Дана заштрихованная область и точка с координатами х,у. Определите,попадает ли...

принадлежит ли точка
выяснить принадлежит ли точка с координатами (x,y) замкнутой области,заданной...

Седловая точка
Элемент матрицы называется седловой точкой, если он является одновременно ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru