2. Разработайте подпрограмму, рисующую последовательность промежуточных изображений (твинов) между Л и Б при изменении параметра г от 0 до 1, и поэкспериментируйте с этой подпрограммой. В качестве средства обеспечения плавности анимации примените двойную буферизацию, предлагаемую OpenGL.

3. Усовершенствуйте данную подпрограмму так, чтобы после постепенного изменения параметра г от 0 до 1 он плавно уменьшался бы обратно до 0 и затем повторял все снова, вследствие чего анимация будет многократно показывать превращение Л в В и обратно. Это чередование должно повторяться до нажатия какой-либо клавиши.

4. Разработайте подпрограмму, позволяющую пользователю вводить с помощью мыши две ломаных, после чего будет осуществляться твининг этих ломаных. Пользователь нажимает клавишу «А» и начинает отмечать точки для создания ломаной Л; затем он нажимает клавишу «В» и отмечает точки для ломаной В. Нажатие клавиши «Т» прерывает этот процесс и начинает твининг, который продолжается до тех пор, пока пользователь не нажмет клавишу «Q» (quit). Предусмотрите случаи, когда пользователь вводит для Au В различное количество вершин: ваша программа должна автоматически создать необходимое число дополнительных вершин вдоль отрезков прямой (возможно, в их средних точках) на той ломаной, у которой точек меньше.

Френсис Хилл

Рис. 4.47. Твининг двух ломаных Тематическое задание 4.2. Разные окружности Уровень сложности II.

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

4.10. Тематические задания

-і<Мы видели в разделе «Приложение пересечения прямых: окружность, проходящая через три заданные точки», как рисовать описанную окружность. Здесь мы покажем, как находить вписанную и девятиточечную окружности.


⇐ Предыдущая| |Следующая ⇒