|
Вопрос # 4 176/ вопрос открыт / |
|
Здравствуйте!
Нужен ваш совет, предложения, вообщем нужна ваша помощь.
Задача такова. С помощью канваса прямыми я рисую нескалько геометрических фируг. И мне нужно как-то их "запомнить". Далее эти фигуры нужно вывести в определённом порядке друг возле друга. Нужно также учитывать, что возможен вариант вывода фигуры под углом относительно остальных, уже нарисованных фигур.
Как сохранить свойства фигуры и какие, подскажите что-то.
Вот такая не очень простая (на мой взгляд) задача.
 |
Вопрос задал: diamond (статус: Посетитель)
Вопрос отправлен: 17 мая 2010, 22:34
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 18 мая 2010, 12:34; участников в обсуждении: 3.
|
Мережников Андрей (статус: Абитуриент), 18 мая 2010, 00:16 [#1]:
что подразумевается под "определенным порядком". На мой взгяд - не слишком понятный вопрос. Как определяется какая фигура нарисована прямыми? какие возможны фигуры? В общем -какие накладываются ограничения на условие задачи? Если это "лаба", то приведите условие задачи из нее дословно, а не так, как поняли сами
|
|
Вадим К (статус: Академик), 18 мая 2010, 00:38 [#2]:
надо запомнить, что было нарисовано. и потом просто перерисовать. Это может быть к примеру массив (ну или красивее - наследник TList) структур (или классов) фигур.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
diamond (статус: Посетитель), 18 мая 2010, 11:51 [#3]:
Если бы это была лаба. Я рисую простые геометрические фигуры (триугольники, квадраты, пяти-, шестиугольники и т.д.). Далее методом сужающих окрестностей генерируется определённая перестановка с этих фигур. И мне нужно их снова нарисовать, только уже не одну, а все; той перестановкой какой выдаст метод.
А что записывать в тот массив? Как сохранить фигуру в ячейке массиве?
|
|
Вадим К (статус: Академик), 18 мая 2010, 12:34 [#4]:
описываем базовую фигуру
type TMyShape = class
public
procedure Draw(); virtual; abstract;
end;
возможно будут ещё методы, но пока они нас не интересуют.
Дальше создаем классы-наследники, TMySquare, TMyCircle и так дальше, в которых перекрываем базовый метод Draw.
Теперь можно хранить эти классы в TList, для начала просто сохраняя на них ссылки. Процедура отрисовки будет примитивна
for i:=0 to list.count do
TMyShape(list[i]).Draw();
Где то так
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|