Здравствуйте, гость Правила · Помощь

»  Коридор, Г Подписаться | Сообщить другу | Версия для печати
      » 19/08/2007, 12:11,  magystr 
Сашун ("19/".$m["авг"]."/2007," 11:49)
Уравнение для площади должно получиться с одним параметром - полуосью малого эллипса...

Ну так я вроде бы чуть ранее и напиал формулу для случая, когда большая ось эллипса в 2 раза больше малой.
Увеличивая их соотношение, мы увеличиваем площадь внешнего эллипса, но при этом очевидно будет увеличиваться и площадь выреза. Чтобы найти экстремум - необходимо вывести аналитическую зависимость параметров внутреннего эллипса от внешнего при условии прохождения поворота.
Пока такой формулы никто не представил.

А проблема в нахождении оптимальных размерах трубки будет примерно такой же, как и у zenker'а. Он предложил несколько вариантов решения, но найти оптимальный ему пока не удается.
      » 19/08/2007, 12:56,  Сашун 
Тю.

1. Ширина коридора = 1.
2. Малая полуось наружного эллипса тоже = 1.
3. Продольная полуось малого эллипса = х.
4. Рисуем коридор под углом 45° "домиком", приставляем к нему больший эллипс "лежа".
5. Из теоремки про касательные к эллипсу находим расстояние от "вершины домика" до общейоси эллипсов.
6. Вычитанием находим другую полуось малого эллипса.
7. Подсчитываем площадь по известным формулкам.
8. Дифференцируем и приравнием нулю.
9. Находим етот Х для максимальной площади.
10. Определяем численное значение площади...


--------------------
С уважением, А.Малышев
      » 19/08/2007, 19:08,  magystr 
Произвел вычисления для двух эллипсов.

Максимум получается 2,068.
Достигается при размере большой полуоси 1,61.
При этом у малого эллипса полуоси соответственно 0,61 и 0,48.

Впрочем функция достаточно пологая. В последнем предложенном Сашуном варианте при размере 1,5 коэффициент равен 2,05.

И при размерах большой полуоси от 1,4 до 1,8 этот коэффициент не ниже 2-х.

То есть в предложенном варианте "трубки Сашуна" с двумя эллипсами большего значения получить не удастся.

Но это вероятно возможно, построив правильную внутреннюю кривую. Ведь эллипс там "съедает" очень много лишней площади, возможно с другими кривыми или с комбинацией кривых удастся добиться большей площади стола.

Пока же считаю, что оценка снизу - 2,07.
      » 19/08/2007, 19:29,  magystr 
Вот формула для вычислений:

m - размер большой полуоси внешнего эллипса,
1 - размер малой его оси.

S1 = Pi/2 *m
S2 = Pi/2 * (m-1)*(sqrt (m^2+1) - sqrt(2))

S = S1 - S2
      » 19/08/2007, 20:20,  Сашун 
Ну, вот уже видно, что ета "трубка" по площади больше самого первого решения - полукруга, который П/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 ; см. http://www.gambler.ru/foto/foto.php?FSID=4753&FID=83487 а то тут уже тесно).

Пока сделал серию при 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).
user posted image
Если приглядитесь - увидите цифры от 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, соответственно.
      » 20/08/2007, 01:17,  magystr 
Ну че.
Круто!

Насколько я понял из рисунка, получаются две кривые.
Было бы здорово, если бы удалось написать для них уравнения.

И все-таки очень напоминает "трубку Сашуна".

А то что ее можно немного улучшить - тоже высказывался в пользу отказа от эллипсов.
Вот идея отсечения ее по самому длинному размеру в голову не приходила.
      » 20/08/2007, 01:45,  zenker 
Стол Дяди_Сергея с высоты птичего полета)
Что-то типа моста напоминает...

user posted image
      » 20/08/2007, 02:58,  magystr 
Дядя_Сергей ("20/".$m["авг"]."/2007," 01:01)
1. Обратите внимание на совершенно плоский "верх" стола и диагональ справа наверху.

Мне представляется, что это не - диагональ, то бишь прямая, а скругление.
я не прав?
« Предыдущая тема | Перечень тем | Следующая тема »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей: