Алгоритмы компьютерной графики

  1. Летающие шарики. Шарики летают и взрываются.
  2. Мельница. В каждой из следующих фунций рисования вызывайте в начале ctx.save(), и в конце ctx.restore()
    1. Заведите функцию рисования палочки она должна рисоваться от координаты \((0, 0)\) до координаты \((0, r)\), где \(r\) - это какое-то небольшое число порядка 20 пикселей.
    2. Заведите функцию рисования 12 палочек по кругу. Вам нужно 12 раз вызвать прошлую функцию, меняя систему координат. Палочки начинаются в точке с координатами \((0, 0)\) и расположены под одинаковыми углами друг относительно друга.
    3. Заведите функцию рисования “веревки”, это большая вертикальная палочка, которая рисуется из координаты \((0, 0)\) в координату \((0, L)\).
    4. Заведите функцию рисования лопасти. Это линия от координаты \((0, 0)\) до координаты \((0, R)\).

    Теперь, наконец, будем рисовать мельницу.

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