Задача жестянщика |
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 ? . Решение напрашивается само собой, но чувтвую, что где-то здесь есть подвох. . Решение нужно очень срочно, в течение нескольких дней. -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Altair |
28.10.2004 16:16
Сообщение
#2
|
Ищущий истину Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Решение напрашивается само собой Хе-хе... так это довольно сложная задача... про какое решения вы говорите? Может вы хотите проверять площадь? это не годится! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
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 |
надо подумать ....
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
28.10.2004 17:19
Сообщение
#5
|
Ищущий истину Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
одна голова хорошо, а две лучше!
ИМХО алгоритм сложен, но реалзуем ... Цитата Oleg_Z: слушай, есть круг радиусом Р, определить можно ли вырезать из него 2 прямоугольника размерами а*б и ц*д Что предложиш? Psixos™: э... Psixos™: у... Psixos™: ы... Psixos™: ничего :0 Psixos™: 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: Как думаешь верно? Писхос не ответил, но я думаю верно. Итак, определяем радиус описанной окружности конструкции, в которую входят вда прямоугольника, совмещенные своими длинными сторонами, для этого находим точку с кратчайшем расстоянием до внешних углов конструкции. Получаем некое значсение. Это радиус описанной окружности (я вот толкьо сомневаюсь ,что с минимальным радиусом) если радиус это окружности меньше чем радиус заданной окружности, то можно вырезать два прямоугольника... Ща еще подумаю.... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atos |
28.10.2004 17:50
Сообщение
#6
|
Прогрессор Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
Цитата(Oleg_Z @ 28.10.04 14:19) находим точку с кратчайшем расстоянием до внешних углов конструкции. ...и эта точка должна располагаться на оси фигуры из совмещённых прямоугольников... У меня примерно такой же ход мыслей.. Надо только точную бы формулу найти... |
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
По-моему, если это условие выполняется, то прямоугольники вырезать можно |
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, то вырезать можно. |
Лита |
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) где-то я здесь я ошибаюсь, но не пойму где... Сообщение отредактировано: Лита - 29.10.2004 5:37 -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Текстовая версия | 28.04.2024 7:03 |