forCint count = 0: count < 5: count++) {
starMotifO ;

cvs.rotate2D(72.0): // concatenate another rotation // присоединяем другой поворот }

Изобразите на бумаге, что происходит после каждого из этих шагов. Пример 5.5.2. Рисование снежинок Красота снежинки в значительной степени проистекает из высокого уровня ее симметрии. Снежинка состоит из шести одинаковых спиц (так называются линии, идущие от центра круга к его периферии), отстоящих на 60° одна от другой, причем каждая спица симметрична относительно своей собственной оси. Нетрудно построить сложную снежинку, если разработать одну половину спицы и затем нарисовать ее 12 раз. На рис. 5.39, а приведена снежинка, созданная из мотива, показанного на рис. 5.39, б. Этот мотив является ломаной линией, которая расположена выше положительной части оси х. (Чтобы избежать перекрытия с другими частями снежинки, эта ломаная не поднимается выше показанной на рисунке прямой, наклоненной под углом 30° к оси х.) Пусть этот мотив рисуется подпрограммой Л akeMotifO.

Использование аффинных преобразований в программах

5.5. Использование аффинных преобразований в программах

Применение последовательных поворотов системы координат

Рис. 5.38. Применение последовательных поворотов системы координат

Проектирование снежинки

Рис. 5.39. Проектирование снежинки Каждая спица снежинки является комбинацией мотива и его же отраженной версии. Отражение относительно оси х осуществляется с помощью подпрограммы sca1e2D(l. -1) (почему?), так что мотив в совокупности со своим отражением можно нарисовать посредством следующего кода"opengl1_341.html">⇐ Предыдущая| |Следующая ⇒