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

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 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();
  • Дата отправки отчёта: 6 января 2016 г.
  • Задание выполнено: за 1 час. 20 мин.
  • Чему научился: Создавать анимированные узорчики)
  • Что было сложным: Ничего
  • Комментарии: От мигания избавился следующим образом     
    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);
                        }
                    }
                }
  • Оценка видео-уроку:
Отчёт от 6484 за Графические циклы / VIP. Узоры на окружности




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Вячеслав  # Графические циклы / VIP. Узоры на окружности / 2016-01-06 00:54

Можно и так.
Порефакторить ещё немножко можно, например:
g.DrawLine (k == 1 ? pen : fon, x1, y1, x2, y2);


  • Отчёт оценивали:
    10895Danil42Russia+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