Алгоритмы компьютерной графики
- Летающие шарики. Шарики летают и взрываются.
- Мельница. В каждой из следующих фунций рисования вызывайте в начале
ctx.save()
, и в концеctx.restore()
- Заведите функцию рисования палочки она должна рисоваться от координаты \((0, 0)\) до координаты \((0, r)\), где \(r\) - это какое-то небольшое число порядка 20 пикселей.
- Заведите функцию рисования 12 палочек по кругу. Вам нужно 12 раз вызвать прошлую функцию, меняя систему координат. Палочки начинаются в точке с координатами \((0, 0)\) и расположены под одинаковыми углами друг относительно друга.
- Заведите функцию рисования “веревки”, это большая вертикальная палочка, которая рисуется из координаты \((0, 0)\) в координату \((0, L)\).
- Заведите функцию рисования лопасти. Это линия от координаты \((0, 0)\) до координаты \((0, R)\).
Теперь, наконец, будем рисовать мельницу.
- Переведите начало координат в середину canvas, ну или чуть повыше середины.
- Заведите глобальный параметр \(\alpha\), он должен будет анимироваться со скоростью примерно \(10^\circ\) в секунду. Можно анимацию сделать не сразу.
- Для каждого
i
от 0 до 11:- Поверните систему координат на угол \(\alpha_i = \alpha + i\cdot\frac{2\pi}{12}\). Нарисуйте лопасть.
- Cдвиньте систему координат в точку \((0, R)\). Нарисуйте веревку. Веревки не получились вертикальными? Потому что надо было сделать еще один поворот системы координат
- Теперь сдвиньтесь в координату \((0, L)\). Поверните систему координат на \(\alpha\), вызовите функцию рисования 12 палочек.
- Запустите анимацию для \(\alpha\), если вы это еще не сделали