Графическая система. Просмотр сцен, добавление объектов, их трансформация и параметризация.
Разработать графическую систему для работы с параметризованными трехмерными объектами. При разработке нельзя использовать стандартные графические библиотеки. При выборе объекта моделирования необходимо предусмотреть наличие у объекта тел вращения и количественных параметров.
Требования:
- наличие графической базы данных: возможность сохранения сцены с объектами в файле;
- читабельность базы данных: файл сцены должен содержать данные модели в текстовом виде;
- возможность работы с несколькими объектами: обеспечить добавление на экран допустимого количества объектов, а также работу со всеми объектами (перемещение, панорамирование) и одним выбранным объектом;
- обеспечить редактирование и параметризацию объектов: возможность изменения параметров любого объекта, а также его масштабирование, перенос, поворот и удаление;
- обеспечить центральное и параллельное проецирование: возможность переключения с одного вида проецирования на другой;
- задание всех параметров аппарата проецирования: обеспечить наличие “камеры”, задаваемой необходимыми параметрами (как минимум – точка зрения и точка цели), также возможность её перемещения вокруг объекта и поворота вокруг своей оси;
- удаление невидимых частей объектов: обеспечить визуализацию объекта без его невидимых частей при помощи алгоритма удаления невидимых линий;
- разработать интуитивно понятный пользовательский интерфейс: программный продукт должен обеспечить пользователю максимально понятную и простую работу в редакторе за счёт оформления интерфейса, контекстных подсказок, горячих клавиш и предупреждений;
- при разработке графического редактора не использовать стандартные графические библиотеки. (Open GL, Direct X и т.п.)
Объект, который предстоит создавать с учётом входных параметров и отрисовывать на экране — оружие одного из существ известной игры Heroes of Might and Magic V (секира?).
- длина рукояти;
- внутренний радиус лезвия;
- внешний радиус лезвия;
- толщина лезвия;
- длина первичных шипов;
- длина вторичных шипов;
- мера угла первичных шипов;
- мера угла вторичных шипов;
- количество вторичных шипов;
- количество колец на конце рукояти.