3.12. Как применить результат упр. 3.11 к организации процедуры указания в программе?
3.13. При разработке прикладной программы программисту приходится решать, следует ли использовать в ней дисплейные списки. Рассмотрите хотя бы два разных практических приложения и составьте для каждого из них список доводов за и против применения дисплейных списков. Используя шрифты, имеющиеся в составе библиотеки GLUT, проверьте на практике, правильно ли были сформулированные доводы.
3.14. Разработайте интерактивную программу, которая позволит провести "виpтyaльнyю', крысу через лабиринт, который был сформирован при выполнении упр. 2.7. Можно для управления движением крысы использовать кнопки мыши: правую и левую - для поворота соответственно вправо и влево, а среднюю - для движения вперед.
3.15. В разделе 3.9 было показано, что даже двойная буферизация в программе рисования не гарантирует прекращение мигания изображения. Можно ли справиться с ним, используя только те программы формирования изображения, которые вам известны на данной стадии изучения? Обоснуйте свой ответ.
3.16. Недорогие устройства ввода типа джойстик, как те, что часто используются в игровых приставках, не имеют преобразователей, вместо которых используются трехпозиционные переключатели. Как, по-вашему, такие устройства "общаются" с программой?
Упражнения
3.17. Ориентация летательного аппарата описывается ориентацией осей системы координат, показанной на рис. 3.24. Движение джойстика вперед-назад контролирует поворот вверх-вниз продольной оси аппарата (тангаж аппарата- pitch). Движение джойстика влево-вправо контролирует вращение вокруг этой оси (крен - roll). Разработайте программу, которая будет использовать в качестве устройства ввода мышь и по ее смещению управлять аппаратом по тангажу и крену, изменяя параметры визуализации для пилота, который сидит в кабине такого аппарата. Это упражнение можно выполнить для двухмерного случая, рассматривая набор объектов, видимых из кабины аппарата и пренебрегая эффектами перспективы.