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

11.3. Напишите процедуру интерактивного рисования изображения с использованием координатного манипулятора.

11.4. Обсудите методы, которые можно использовать в процедуре распознавания шаблонов, чтобы сравнивать входные символы с элементами библиотеки форм.

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

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

11.7. Напишите программу рисования, позволяющую пользователю создавать изображения, которые состоят из отрезков, соединяющих заданные точки. Координаты отдельных отрезков выбираются с помощью координатного манипулятора.

11.8. Разработайте пакет рисования, позволяющий создавать изображения, состоящие из отрезков, соединяющих заданные точки. Установите поле притяжения вокруг каждой линии изображения, позволяющее присоединять новые линии к уже существующим.

11.9. Модифицируйте пакет рисования из предыдущего упражнения, чтобы можно было строить горизонтальные или вертикальные линии.

11.10. Разработайте пакет рисования, отображающий настраиваемую сетку, чтобы выбранные точки экрана округлялись до узлов сетки. Пакет должен иметь средства рисования отрезков, конечные точки которых вводятся координатным манипулятором.

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

11.12. Разработайте пакет рисования, позволяющий строить прямые линии, прямоугольник и окружности с помощью эластичных методов.

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

11.14. Разработайте процедуру, позволяющую формировать изображение, используя меню базовых форм и перетаскивая с помощью указки каждую выделенную форму в нужное место.

11.15. Реализуйте функции ввода в режиме запроса.

11.16. Реализуйте функции ввода в дискретном режиме.

11.17. Реализуйте функции ввода в режиме событий.

11.18. Разработайте процедуру реализации функций ввода для режимов запроса, событий и дискретного режима.

11.19. Расширьте программу рисования точек OpenGL из раздела 11.6, чтобы она включала меню, позволяющее выбирать размер и цвет точки.


⇐ вернуться назад | | далее ⇒