Здравствуйте, Erop, Вы писали:
S>> Нет есть реальное наследование. Прямоугольник это фигура. Все её свойства никуда не делись. Но добавились часные случаи, которыми проще оперировать.
E>Ох, религия, такая вещь, упёртая. Тут ничего не поделаешь.
E>У нас, как бы стоит задача. Грубо говоря она называется оптимизация перебора, идти надо, скорее всего, через поиски каких-то частей решения, и какие-то движения в пространстве решений.
E>А ты всё время рассказываешь, что у прямоугольника есть какие-то там хитрые свойства.
E>Насколько я тебя понял, основное свойство прямоугольника -- это то, что его пожно поставит на край листа только одной из двух сторон. Но это же примитивно делается и без прямоугольника. Просто смотрим на фигуру, понимаем, что она хорошо вписываетя в прямоугольник и генерим для неё всего ДВА варианта ориентации при размещении. Потом, когда кладём её, то двигаем максимально вниз и влево, например. ФСЁ.
E>Никакого ООП, и вообще никакого много чего ещё.
E>Мало того, можно какие-то куски дерева перебора, на которых удалось получить компактное заполнение по ширене листа, например, запоминать и брать сразу кусками. Этакий кэш поддеревьев сделать. И т. д.
А вот когда у тебя алгоритм будет работать с несколькими примитивами, тебе уже нужно работать по единому интерфейсу
S>>Если угол может быть всего в двух вариациях как 0 и 90 то еще проще с ним работать.
E>Тогда и с оринигальной фигурой работать так же просто...
E>Мало того, программа получится сильно короче. Так как особо простую и выразительную логику работы с прямоугольниками вообще ен надо будет программировать. Полное отсутсвие кода проще же, чем сколь угодно простой код?..
Нет оригинальная фигура если ты её не впишешь в прямоугольник для оптимального расположения нужно выбрать положение от крайних фигур.
Для треугольника это уже 4 степени свободы.