Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Здравствуйте, Ильгиз. Математика - царица наук (Карл Гаусс). Изучение математики начинается с детского сада, когда нас учат считать и выполнять простые арифметические операции. Любой, даже самый простейший алгоритм будет связан с арифметическими...
Я хотел узнать математика это обязательно в программирование. Пять лет назад просто из любопытства я увлекся HTML потом изучил CSS и JvaScript потом изучил PHP и Java. Как то не задумывался и начал смотреть форумы и узнал что без математики не...
Все верно, но так же необходимо зайти в: Компоновщик -> Ввод -> Дополнительные зависимости Здесь необходимо нажать изменить и в Дополнительные зависимости прописать это: SDL2.lib SDL2main.lib SDL2test.lib Без этого не заработает. (MVS 2015)
Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)

Счетчики и рейтинг

Яндекс.Метрика Рейтинг@Mail.ru
Язык программирования: 
C#
Среда программирования: 
Microsoft Visual Studio 2015

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        private Bitmap bitmap;                                        //инициализируем битмэп
        private Graphics graphix;                                       //инициализируем графику
 
        SolidBrush background = new SolidBrush(Color.FromArgb(255 ,231 ,186));           //задаем цвет фона
 
        SolidBrush ellipse1 = new SolidBrush(Color.FromArgb(139 ,0 ,139));          //задаем цвета кружков
        SolidBrush ellipse2 = new SolidBrush(Color.FromArgb(0 ,0 ,139));
 
        int k = 50;                 //расстояние между кружками
        int i, j;                   //переменные циклов отрисовки
        int cnt;                    //счетчик
        int s1 = 50, s2 = 0;            //площадь кружков
        float x1, y1, x2, y2;           //координаты кружков
        float angle;                    //отвечает за угол поворота
 
        private void FillEllipse()
        {
            bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);             //создаём графику из bitmap
            graphix = Graphics.FromImage(bitmap);
            graphix.FillRectangle(background, 0, 0, pictureBox1.Width, pictureBox1.Height);     //закрашиваем фон
            graphix.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;           //сглаживание
            graphix.TranslateTransform((float)pictureBox1.Width / 2, (float)pictureBox1.Height / 2);   //перемещаем координаты в центр 
 
            graphix.RotateTransform(angle);             //поворачиваем на нужный угол 
 
            for (i = 0; i <= 14; i++)                   // рисуем кружки 
            {
                for (j = 0; j <= 14; j++)
                {                
                    graphix.FillEllipse(ellipse1, -380 + j * k - x1, -380 + i * k - y1, s1, s1);
                }
 
                j = 0;
            }
 
            for (i = 0; i <= 14; i++)
            {
                for (j = 0; j <= 14; j++)
                {
                    graphix.FillEllipse(ellipse2,-333 + j * k - x2,-333 + i * k - y2, s2, s2);
                }
 
                j = 0;
            }
 
            pictureBox1.BackgroundImage = bitmap;               //отображаем битмап на pictureBox
 
        }
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            cnt++;
            FillEllipse();          //рисуем кружки
            angle += (float)0.3;   //увеличиваем угол
            if (cnt < 50)               //пока счетчик меньше 50-ти уменьшаем фиолетовые кружки и увеличиваем синие
            {
                s1--;
                x1 += (float)0.1;
                y1 += (float)0.1;
                s2++;
                x2 -= (float)0.1;
                y2 -= (float)0.1;                
            }
 
            if(cnt > 50)                //как только счетчик становится больше 50-ти начинаем увеличивать фиолетовые кружки и уменьшать синие
            {
                s1++;
                x1 -= (float)0.1;
                y1 -= (float)0.1;
                s2--;
                x2 += (float)0.1;
                y2 += (float)0.1;         
            }
 
            if( cnt == 100)             //как только счетчик становится равным 100 обнуляем переменные и начинаем заново
            {
                s1 = 50;
                s2 = 0;
                cnt = 0;
            }
        }
    }
}

Прикрепленный файлРазмер
Volkov_Circles.rar49.79 кб