Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2013, 13:08   #1
Михаил1995
 
Регистрация: 18.11.2013
Сообщений: 4
Сообщение Геометрические задачи (программирование)

Привет. Помогите кто решить задачу на паскале следующего содержания : "Найти расстояние между двумя треугольниками на плоскости. Взаимное расположение фигур произвольно (возможно пересечение). Исходные данные считываются из текстового файла input.txt .Результаты в графическом виде отображаются на экране"

В качестве благодарности будет обычное, человеческое спасибо)
Михаил1995 вне форума Ответить с цитированием
Старый 18.11.2013, 14:23   #2
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

в качестве решения: попробуйте задачу решить математически, и потом ход решения перенести в код
netpolice вне форума Ответить с цитированием
Старый 19.11.2013, 12:31   #3
Михаил1995
 
Регистрация: 18.11.2013
Сообщений: 4
По умолчанию

Пробовал - не получилось. Помогите кто чем сможет, заранее спасибо.
Михаил1995 вне форума Ответить с цитированием
Старый 19.11.2013, 13:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
var f:text; a,b:array[1..3,1..2] of float; m,mm:float;
function dist(nA,nB:integer):Float;
begin
 dist:=sqrt(sqr(a[na,1]-b[nb,1])+sqr(a[na,2]-b[nb,2]))
end;
begin
 assign(f,'input'); reset(f);
 readln(f,a[1,1]); readln(f,a[1,2]);
 readln(f,a[2,1]); readln(f,a[2,2]);
 readln(f,a[3,1]); readln(f,a[3,2]);

 readln(f,b[1,1]); readln(f,b[1,2]);
 readln(f,b[2,1]); readln(f,b[2,2]);
 readln(f,b[3,1]); readln(f,b[3,2]);

 mm:=maxint;

 for i:=1 to 3 do begin
  for j:=1 to 2 do begin
   m:=dist(i,j);
   if m<mm then mm:=m;
  end; 
 end; 
 write(mm);
 close(f);
end.
Не проверял.
P.S. Все равно тебе это не поможет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2013, 13:30   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Два отрезка на плоскости.
1. Находим минимальное расстояние между концами отрезков. Что выше и предложено.
2. Но этого мало - опущенные перпендикуляры с одного отрезка на другой могут как пересекаться с другим отрезком, так и не пересекаться. Если нет пересекающихся, то min расстояние определено в п.1. Если есть - найти среди них с min расстоянием до точки пересечения, может быть 0, если сами отрезки пересекаются
3. И так для каждой пары отрезков, т.е. оба цикла от 1 до 3
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2013, 15:38   #6
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Что считаем расстоянием между треугольниками?
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 19.11.2013, 16:55   #7
Михаил1995
 
Регистрация: 18.11.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от challengerr Посмотреть сообщение
Что считаем расстоянием между треугольниками?
Я написал все что было в условии. Про то что считать расстоянием там не говорилось. Думаю что это расстояние от центра одного треугольника до центра другого
Михаил1995 вне форума Ответить с цитированием
Старый 19.11.2013, 17:00   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Центров тоже несколько - центр тяжести (пересечение медиан), центр вписанной окружности (биссектрис) , есть еще другие. Какой?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2013, 17:09   #9
Михаил1995
 
Регистрация: 18.11.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Центров тоже несколько - центр тяжести (пересечение медиан), центр вписанной окружности (биссектрис) , есть еще другие. Какой?


Думаю в задаче все же имелся в виду центр Вписанной окружности
Михаил1995 вне форума Ответить с цитированием
Старый 19.11.2013, 17:14   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Думаю в задаче все же имелся в виду центр Вписанной окружности
Для любого вида центра можно найти координаты, формулы хотя бы в Вики http://ru.wikipedia.org/wiki/%D0%97%...B8%D0%BA%D0%B0. Расстояние между двумя точками вычисляется элементарно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОГРАММИРОВАНИЕ ЗАДАЧИ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ HELENA))))) Помощь студентам 4 13.11.2012 20:36
Программирование на Си:типовые задачи IKom Помощь студентам 8 06.10.2012 17:36
Геометрические задачи angel5609 Помощь студентам 1 11.12.2011 18:12
Задачи на программирование.Паскаль. cjcezar Помощь студентам 2 31.10.2011 20:24