Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Графические циклы / VIP. Узоры на окружности

  • На этом уроке мы создадим динамические
    графические круговые узоры, получится
    такая красота, что глаз не оторвать!

    Урок создан по материалам статьи:
    habrahabr.ru/post/274471/

    * Подсказка, как сделать отображение узоров без мигания:
    ArcLine (fon, n * 2, n * 2 * (coeff - step));
    ArcLine (pen, n * 2, n * 2 * coeff);


    Ещё попробуйте использовать
    g.Clear(Color.White);
    вместо
    Clear();
  • Дата отправки отчёта: 27 февраля 2018 г.
  • Задание выполнено: за 1 час. 53 мин.
  • Чему научился: Очень красивый получился урок.
    И поразительно что при этом создание подобного умещается в несколько строчек кода...
    Изначально думал, для того чтобы нарисовать подобное нужно кучу премудрых условий...А как всегда оказывается не так то все и сложно.
    Спасибо  Евгению за подобранный материал. Думаю данный опыт в будущем можно будет применить в решении. задач.
  • Что было сложным: Долго возился с убиранием мерцания.
    В итоге помогло - "g.Clear(Color.White); ", вместо - "Clear();".  Результат добавил плавность изменяющейся картинке.
  • Оценка видео-уроку:
Отчёт от 16218 за Графические циклы / VIP. Узоры на окружности


Отчёт от 16218 за Графические циклы / VIP. Узоры на окружности




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Графические циклы / VIP. Узоры на окружности / 2018-02-27 23:43

Спасибо, добавлю вашу находку в описание урока.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Графические циклы / VIP. Узоры на окружности / 2018-02-28 02:08

Молодец, я когда проходил, вынес отрисовку в отдельный поток, чтобы интерфейс не блокировался, так же от мерцания тоже избавился скорректировав последовательность отрисовки.


16218. --
Дмитрий
Дмитрий
ответить
# Графические циклы / VIP. Узоры на окружности / 2018-02-28 08:09

Спасибо
Смотрел как сделали другие уход от мерцания...Многие  использовали переменные FON и PEN, как написано в подсказке к уроку. С PEN все понятно, а вот что такое FON, так и не въехал... У многих снято видео, где видно как действительно работает плавно. Но какого вразумительного описания как именно человек выполнил с помощью данного способа не нашел.. Пришлось придумывать по своему))).


  • Отчёт оценивали:
    1Евгений Волосатов+1   17575drWatson0   10558Иван Воронин+1   6452Кирилл Шмойлов+1   4395Денис+1   459Сергей Сергеевич+1   16533Андрей Шевченко+1   9980Timoha+1   9858Александр+1   17443WildOrc+1   3922Александр+1   8932Алекс+1   16653Александр+1   8380zhikharevav+1   16880Константин+1   9752chokayes+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Создавать анимированные узорчики)
От мигания избавился следующим образом private void ArcDelLine(int k, float alfa, float beta) { float x1 = 150 + (float)Math.Cos(alfa / 180.0 * Math.PI) * 150; float y1 = 150 - (float)Math.Sin(alfa / 180.0 * Math.PI) * 150; float x2 = 150 + (float)Math.Cos(beta / 180.0 * Math.PI) * 150; float y2 = 150 - (float)Math.Sin(beta / 180.0 * Math.PI) * 150; if ( k == 1) { g.DrawLine(pen, x1, y1, x2, y2); } else { g.DrawLine(fon, x1, y1, x2, y2); } private void button29_Click(object sender, EventArgs e) { int total = 180; for (float coeff = 1; coeff < total; coeff += 0.2f) { for (int n = 0; n < total; n++) { ArcDelLine(1, n * 2, n * 2 * coeff); } Sleep2(); Sleep2(); Sleep2(); for (int n = 0; n < total; n++) { ArcDelLine(2, n * 2, n * 2 * coeff); } } }


Научился: Создавать лайт-версию анимации в 2D
Главное не засмотреться на получаемую красоту 0_0