| Здравствуйте, гость | Правила · Помощь |
Все темы | | | |
| » Коридор, Г | | | |
|
|
|
Тю.
1. Ширина коридора = 1. 2. Малая полуось наружного эллипса тоже = 1. 3. Продольная полуось малого эллипса = х. 4. Рисуем коридор под углом 45° "домиком", приставляем к нему больший эллипс "лежа". 5. Из теоремки про касательные к эллипсу находим расстояние от "вершины домика" до общейоси эллипсов. 6. Вычитанием находим другую полуось малого эллипса. 7. Подсчитываем площадь по известным формулкам. 8. Дифференцируем и приравнием нулю. 9. Находим етот Х для максимальной площади. 10. Определяем численное значение площади... -------------------- С уважением, А.Малышев |
|
|
|
Произвел вычисления для двух эллипсов.
Максимум получается 2,068. Достигается при размере большой полуоси 1,61. При этом у малого эллипса полуоси соответственно 0,61 и 0,48. Впрочем функция достаточно пологая. В последнем предложенном Сашуном варианте при размере 1,5 коэффициент равен 2,05. И при размерах большой полуоси от 1,4 до 1,8 этот коэффициент не ниже 2-х. То есть в предложенном варианте "трубки Сашуна" с двумя эллипсами большего значения получить не удастся. Но это вероятно возможно, построив правильную внутреннюю кривую. Ведь эллипс там "съедает" очень много лишней площади, возможно с другими кривыми или с комбинацией кривых удастся добиться большей площади стола. Пока же считаю, что оценка снизу - 2,07. |
|
|
|
Вот формула для вычислений:
m - размер большой полуоси внешнего эллипса, 1 - размер малой его оси. S1 = Pi/2 *m S2 = Pi/2 * (m-1)*(sqrt (m^2+1) - sqrt(2)) S = S1 - S2 |
|
|
|
Ну, вот уже видно, что ета "трубка" по площади больше самого первого решения - полукруга, который П/2=1,57 и больше "голой гантели" - двух кругов, которые тоже = 1,57.
Даем оценку для сиреневой фигуры, которая "2 круга + 2 кривых треугольника малых наружных + 2 кривых треугольника длинных внутренних": Один круг имеет площадь П/4=0,79. Другой круг вместе с 4-мя треугольниками образует квадрат площадью 1. Таким образом площадь сиреневой фигуры примерно 1+0,79 = 1,8. Можно ли оптимизировать сиреневую фигуру в сторону увеличения площади? -------------------- С уважением, А.Малышев |
|
» 19/08/2007, 23:41, Дядя_Сергей
|
|
Программа написана. Отладил оптимизатор на эффективность, а иначе глобальный максимум либо не находится (т.к. оказалось что функция достаточно гладкая - но зашумленная - ошибки ведь накапливаются после миллиона умножений и сложений), либо ищется перебором - а это делает скорость расчета алгоритмом O(N^4), где N-масштаб сетки. С градиентным спуском (с локальными скачками) - сделал O(N³). Попозже напишу O(N²logN). Программа работает с двумя внешними параметрами - N и β (это параметр формы нижнего выреза в начальной болванке, от 0 до 1; при β=1 плошадь начальной болванки максимальна - 2√2 ; см. а то тут уже тесно).
Пока сделал серию при N=200 с разными значениями β. Пока достигнуто значение 2.157... (это оценка снизу) при β=0.62 (может, золотое сечение, ха-ха?). Еще может быть увеличено - т.к. алгоритм оценивает снизу. При увеличении N растет точность, время расчета, естественно, и результат тоже растет (т.к. элементы на краю режутся не полностью а все меньше и меньше). Пока не написал генератор картинки (лень, но сделаю сегодня). В данный момент печатается ASCII графикой в файл! :-) Но форма ясна. Ни zenker'a (опорных кругов нет, и вписать не возможно там, где они должны были бы быть - они зарезаны), ни Сашуна, хотя на телефонную трубку потрясающе похоже - но образуется далеко не элипсами - напротив, на существенной протяженности периметра стола он сформирован прямыми линиями. Ждите картинку сегодня... Идет счёт с N=500 с разными значениями β в диапазоне 0.60-0.64. Помогает то, что по β форма максимума потрясающе плоская (представьте себе cos²x ) - т.е. в этом диапазоне (0.60-0.64) в ответе меняются уже только четвертые цифры после запятой! |
|
» 20/08/2007, 01:01, Дядя_Сергей
|
|
Эх, повеселю!
Вот он стол (ASCII-art!). Половина стола (S>=2.157 при N=200 и β=0.62). ![]() Если приглядитесь - увидите цифры от 0 до 9. На самом деле, точность выше (float's), но для отрисовки на экране - такая вот ленивая придумка. 9 это весь квадрат полностью стол. 4-5 - половина стол, половина пустота. 0 - это когда совсем маленький уголок стола, но все же что-то есть. 1. Обратите внимание на совершенно плоский "верх" стола и диагональ справа наверху. Границы стола не эллиптические. Стол не Сашуна. 2. Базовые окружности вписать тоже невозможно. Оптимизатор показал что с окружностями площадь меньше. (Могу поставить окружности жестко. Тогда и оптимизатор не нужен! Но тогда пространство возможных траекторий будет просто под-пространством нынешнего, в котором выполнена глобальная оптимизация => площадь будет меньше при любом β). Стол не zenker'a. 3. Стол не идеален еще - внутренняя граница еще хранит 'отпечатки' самых первых разрезов (под углами 22.5°, 11.25° и 33.75° ). Она не должна быть "волнообразной" в окончательном варианте. Это не значит, что его пронести нельзя, это значит, что он еще может быть улучшен. Пока еще не внедрил поправку следующего уровня - а именно: когда стол закончен (его начальная форма, на всякий случай напоминаю, два параллелограмма), аккуратно надуть его изнутри на Р/16, например - и повторить все сначала! Затем надуть его изнутри на Р/32 и повторить, затем Р/64 и так до сходимости... Для окончательной картинки - превращу все числа в градации серого, да и дорисую вторую половинку зеркально. Просто с libgd не хотелось пока возиться и линковать. При N=200 размер картинки будет 200х800. При N=500 размер картинки будет 500х2000, соответственно. |
|
|
|
Ну че.
Круто! Насколько я понял из рисунка, получаются две кривые. Было бы здорово, если бы удалось написать для них уравнения. И все-таки очень напоминает "трубку Сашуна". А то что ее можно немного улучшить - тоже высказывался в пользу отказа от эллипсов. Вот идея отсечения ее по самому длинному размеру в голову не приходила. |
|
|
||
Мне представляется, что это не - диагональ, то бишь прямая, а скругление. я не прав? |
||
Все темы | | | |
« Предыдущая тема | Перечень тем | »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
0 Пользователей:

