C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Чем пользоваться, чтобы это сделать????
Vadim
Отправлено: 08.01.2004, 17:09


Ученик-кочегар

Группа: Участник
Сообщений: 15



Какие компоненты может есть!!!!
ИМХО firebird+fibplus+GDI+
Может какие компоненты для работы с графикой есть???


Фигурки
Определено множество геометрических объектов (фигурок) на плоскости, заданных в декартовой системе координат. Каждая фигурка принадлежит одному из следующих классов:
• ломаная (линия);
• многоугольник (с внутренностью);
• окружность (линия);
• дуга (линия);
• круг (линия);
• эллипс (с внутренностью).
Следует обратить внимание на отличие линий (фигур, имеющих нулевую площадь) от фигур с внутренностью. Для линий определена операция получения длины, а для фигур с внутренностью — операция вычисления площади.
Для дуг, окружности, круга и т. п. фигур должны быть общие функции, возвращающие центр окружности. Для всех фигур определена операция масштабирования, увеличивающая или уменьшающую фигуру с данным коэффициентом подобия, а также операция параллельного переноса.
Фигурка идентифицируется названием.
Доступны операции создания, удаления и переименования фигурок.


[B]Информация о фигурках должна храниться в реляционное СУБД
fellow
Отправлено: 08.01.2004, 18:35


Дежурный стрелочник

Группа: Участник
Сообщений: 33



Пишите собственные классы фигур. Не увлекайтесь наследованием от общего предка, поскольку фигуры "с внутренностью" кардинально отличаются от фигур без таковой. Определите общий для всех фигур интерфейс, и займитесь его разработкой. По ходу дела обдумайте существнные сходства и различия фигур, семантику операций над этими фигурами, определитесь, будут ли эти операции членами или друзьями классов.
А в общем, это задача именно проектирования системы классов, и Вам лучше обратиться в форум, посвящённый объектно-ориентированному проектированию на этом же сайте.
fellow
Отправлено: 08.01.2004, 19:04


Дежурный стрелочник

Группа: Участник
Сообщений: 33



"Вам лучше обратиться в форум, посвящённый объектно-ориентированному проектированию на этом же сайте"
Ошибочка вышла, на этом сайте нет специализированного форума по ООП. Ну, как я выше написал, так и действуйте. Могу книги порекомендовать по ООП: http://anatolix.naumen.ru/books.htm
Vadim
Отправлено: 09.01.2004, 10:08


Ученик-кочегар

Группа: Участник
Сообщений: 15



Спасибо большое...так и сделаю!
Vadim
Отправлено: 09.01.2004, 10:39


Ученик-кочегар

Группа: Участник
Сообщений: 15



В Buildere для рисования, что использовать?
fellow
Отправлено: 09.01.2004, 16:54


Дежурный стрелочник

Группа: Участник
Сообщений: 33



Хоть что — TPaintBox, TBitmap с переносом в TImage, любое средство. Главное в Вашей задаче не рисование, а система классов, именно на ней следует сосредоточить все свои усилия. Рисовать будете потом, причём реализуйте класс-рисовальщик, дружественный каждому классу фигуры. Это будет более разумно, с моей точки зрения, чем вносить процедуру рисования в каждый конкретный класс фигур.
fellow
Отправлено: 09.01.2004, 16:56


Дежурный стрелочник

Группа: Участник
Сообщений: 33



Также полезна перегрузка функций. В общем, ООП рулит, хе-хе.
Vadim
Отправлено: 09.01.2004, 17:19


Ученик-кочегар

Группа: Участник
Сообщений: 15



Какая именно книга меня может наставить на путь истинный???smile.gif
Да мля чувствую придется попотеть.
Я все понимаю что вы пишите, но я этим всем занимался года 3 тому назад, придется вспоминать много чего.
Даже литература есть- будем читать.
Все же куда податься OpenGL или GDI(GDI+)????
Vadim
Отправлено: 09.01.2004, 17:20


Ученик-кочегар

Группа: Участник
Сообщений: 15



Может примерчик по работе с этими фигурками есть?
Vadim
Отправлено: 09.01.2004, 17:41


Ученик-кочегар

Группа: Участник
Сообщений: 15



Терпение и труд — все претрут !!!


Отредактировано Vadim — 09/01/2004, 19:22
fellow
Отправлено: 09.01.2004, 19:29


Дежурный стрелочник

Группа: Участник
Сообщений: 33



GDI, думаю, будет достаточно. Если не потребуется добавлять третье измерение фигурам, градиентные заливки, текстурирование поверхностей второго порядка и прочая, и прочая, и прочая.
Если уже был опыт ОО(Проектирования) и ОО(Программирования) , то проблем особых не должно быть. Книга, естественно, Страуструпа, для начала, но не сильно вдавайтесь в подробности — его стиль письма лёгким не назовёшь. Пожалуй, Липмана можно почитать, правда, сам я не пробовал, но люди отзываются неплохо.

Вернуться в Вопросы программирования в C++Builder