IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача жестянщика
Лита
сообщение 28.10.2004 15:13
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Можно ли из круглой заготовки радиуса r вырезать две прямоугольные пластинки с размерами a*b и c*d ?

.
Решение напрашивается само собой, но чувтвую, что где-то здесь есть подвох. huh.gif
.
Решение нужно очень срочно, в течение нескольких дней. huh.gif


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 28.10.2004 16:16
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Решение напрашивается само собой

Хе-хе... так это довольно сложная задача... про какое решения вы говорите?
Может вы хотите проверять площадь? это не годится!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 28.10.2004 16:20
Сообщение #3


Гость






Цитата(Oleg_Z @ 28.10.04 16:16)
Может вы хотите проверять площадь? это не годится!

ну так понимаю, что не годится... потому и прошу помощи... мне бы только математическое обосновани решения, а уж программу как-нить сама навояю... :p2:
 К началу страницы 
+ Ответить 
Altair
сообщение 28.10.2004 16:59
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


надо подумать ....


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 28.10.2004 17:19
Сообщение #5


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


одна голова хорошо, а две лучше! smile.gif
ИМХО алгоритм сложен, но реалзуем ...
Цитата
Oleg_Z: слушай, есть круг радиусом Р, определить можно ли вырезать из него 2 прямоугольника размерами а*б и ц*д
Что предложиш?
  Psixos™: э...
  Psixos™: у...
  Psixos™: ы...
  Psixos™: ничего :0
  Psixos™: smile.gif
  Psixos™: мне сегодня совсем не думается...
  Psixos™: О!
  Psixos™: ща...
  Psixos™: произвольные прямоугольники??
  Oleg_Z: Нет, их размеры заданны !
  Psixos™: кое - что в голову пришло...
  Psixos™: но не знаю... правильно или нет...
  Oleg_Z: давай
  Psixos™: 1) совместить их центрами длтнных сторон...
  Oleg_Z: так... (в этом я согласен)
  Oleg_Z: дальше...
  Psixos™: 2) найти точку....
  Psixos™: ща... попытаюсь объяснить какую...
  Oleg_Z: Центр описанной окружности этой конструкции?
  Psixos™: примерно...
  Oleg_Z: эге.... вот и у меня те-же мысли ...
  Oleg_Z: ЧТо если найти центр опсанной окр. этой конструкции и проверить его радиус? или я ошибаюсь ?
Ты какую точку ищешь?
  Psixos™: вот! это будет правильно!
  Oleg_Z: так, а как найти центр рписанной контсрукции ?
  Psixos™: это и есть проблема...
  Psixos™: ща... пришлю те свои соображения...
  Oleg_Z: угу...
  Oleg_Z: а ну ясно... у нас будет 4 угла - 2 угла это угля скажем большего прямоугольника, и два меньшего (причем внешние углы), ищем точку, путь от которой наименьший до всех трех (такая задача изветсна) это центр описанный окружности, причем наименьшей!
  Oleg_Z: Как думаешь верно?

Писхос не ответил, но я думаю верно.

Итак,

определяем радиус описанной окружности конструкции, в которую входят вда прямоугольника, совмещенные своими длинными сторонами, для этого находим точку с кратчайшем расстоянием до внешних углов конструкции. Получаем некое значсение. Это радиус описанной окружности (я вот толкьо сомневаюсь ,что с минимальным радиусом) если радиус это окружности меньше чем радиус заданной окружности, то можно вырезать два прямоугольника...

Ща еще подумаю....


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 28.10.2004 17:50
Сообщение #6


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


Цитата(Oleg_Z @ 28.10.04 14:19)
находим точку с кратчайшем расстоянием до внешних углов конструкции.

...и эта точка должна располагаться на оси фигуры из совмещённых прямоугольников... У меня примерно такой же ход мыслей.. Надо только точную бы формулу найти...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 28.10.2004 18:22
Сообщение #7


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


(min(a,b )+min(c,d)-sqrt(r^2-(max(a,b )^2)/4))^2+(max(c,d)^2)/4 <= r^2
По-моему, если это условие выполняется, то прямоугольники вырезать можно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 28.10.2004 23:37
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


Пусть b и d бо'льшие стороны.
l1 = sqrt (r^2 - (b/2)^2) - a;
l2 = sqrt (r^2 - (d/2)^2) - b;
l1 и l2 это расстояние на сколько меньше места занимает прямоугольник на своей половине круга.
Соответственно, если l1+l2>0, то вырезать можно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Лита
сообщение 29.10.2004 5:36
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Цитата(Atos @ 28.10.04 18:22)
(min(a,b )+min(c,d)-sqrt(r^2-(max(a,b )^2)/4))^2+(max(c,d)^2)/4 <= r^2
По-моему, если это условие выполняется, то прямоугольники вырезать можно

to ATOS:
Спасибо, вроде работает. Только я не совсем поняла, откуда в левой части появляется заданный радиус круга? Уже и так рисовала, и сяк, и свою формулу вывела, но она не во всех случаях работает...
Код

sqr((min(a,b)+min(c,d))/4)+sqr(max(max(a,b),max(c,d))/4)<=sqr(r)

где-то я здесь я ошибаюсь, но не пойму где... blink.gif

Сообщение отредактировано: Лита - 29.10.2004 5:37


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.04.2024 7:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"