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

Вход на сайт

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

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

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

Не работает, выводит это: Process terminated with status 4258096 (0 minute(s), 2 second(s)) при этом открывается консоль с тем же числом
А как можно добавить сюда глубину рекурсии, то есть сложность линии?
ошибка : пишет не удается открыть источник файл "SDL.h" Из за этой ошибки не удается запустить программу хотя я все сделал правильно , в результате код не работает : //подключим SDL и stdio #include #include //Некоторые константы нашего окна const...
Чет не работает, помогите, надо очень сильно
добрый день! при попытке компиляции выдает Source.obj : error LNK2001: неразрешенный внешний символ "__imp_glPointSize" 1>Source.obj : error LNK2001: неразрешенный внешний символ "__imp_glPopMatrix" 1>Source.obj : error LNK2001: неразрешенный...

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

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

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;
using System.Threading;
 
 
 
namespace Lab1
{
 
    public partial class Form1 : Form
    {
 
        //параметры изменения координат кругов, и его радиуса
        double cnt1 = 1.0, cnt2 = 1.0, cnt5 = 2.5, cnt6 = 2.5, cnt31 = 1, cnt32 = 1.5, cnt41 = 1, cnt42 = 1.5, cnt71 = 1.6, cnt72 = 2.56, cntr = 1, ctra = 0.1;
        //начальные координаты всех кругов
        double x1 = 100.0, y1 = 100.0, x2 = 100.0, y2 = 100.0, x3 = 100.0, y3 = 100.0, x4 = 100.0, y4 = 100.0, x5 = 100.0, y5 = 100.0, x6 = 100.0, y6 = 100.0, x7 = 100.0, y7 = 100.0, x8 = 100.0, y8 = 100.0;
        //Инициализация bitmap и графики
        private Bitmap My;
        private Graphics g;
        //началный радиус
        double r = 300;
        // толщина круга
        double a = 9;
 
        public Form1()
        {
            InitializeComponent();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
            timer1.Start();
        }
 
 
 
 
        private void Draw1(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x5, double y5, double x6, double y6, double x7, double y7, double x8, double y8, double r, double a)
        {   //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
 
            Pen Gl2 = new Pen(Color.White, (int)a); 
 
            //прорисовка каждого круга
           g.DrawEllipse(Gl2, (int)x1,(int) y1, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x2, (int)y2, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x3, (int)y3, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x4, (int)y4, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x5, (int)y5, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x6, (int)y6, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x7, (int)y7, (int)r, (int)r);
           g.DrawEllipse(Gl2, (int)x8, (int)y8, (int)r, (int)r);
        }
 
 
 
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
          //cnt определяет цфет фона и шара если "0" то шар синий фон белый
 
 
            //вызов функции прорисовки кругов
            Draw1(x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7, x8,  y8, r, a);
 
            //изменение толщины
            a = a - ctra;
            if (a <= 5) { ctra = -ctra; }
            if (a >= 9) { ctra = -ctra; }
 
            //измененние радиуса
            r = r - cntr;
            if (r <= 260) { cntr = -cntr; }
            if (r >= 300) { cntr = -cntr; }
            //изменение положения 
            y1 = y1 - cnt1;
            x2 = x2 - cnt2;
            y5 = y5 + cnt5;
            x6 = x6 + cnt6;
            x3 = x3 - cnt31;
            y3 = y3 + cnt32;
            x4 = x4 + cnt42;
            y4 = y4 - cnt41;
            x7 = x7 + cnt72;
            y7 = y7 + cnt71;
            x8 = x8 + cnt71;
            y8 = y8 + cnt72;
 
            //изменение стороны движения на противоположную
            if (y1 <= 60) { cnt1 = -cnt1; }
            if (y1 >= 100) { cnt1 = -cnt1; }
 
            if (x2 <= 60) { cnt2 = -cnt2; }
            if (x2 >= 100) { cnt2 = -cnt2; }
 
            if (x3 <= 60) { cnt31 = -cnt31; cnt32 = -cnt32; }
            if (x3 >= 100) { cnt31 = -cnt31; cnt32 = -cnt32; }
            if (x4 >= 160) { cnt41 = -cnt41; cnt42 = -cnt42; }
            if (x4 <= 100) { cnt41 = -cnt41; cnt42 = -cnt42; }
 
            if (y5 >= 200) { cnt5 = -cnt5; }
            if (y5 <= 100) { cnt5 = -cnt5; }
 
            if (x6 <= 100) { cnt6 = -cnt6; }
            if (x6 >= 200) { cnt6 = -cnt6; }
 
            if (x7 >= 200) { cnt71 = -cnt71; cnt72 = -cnt72; }
            if (x7 <= 100) { cnt71 = -cnt71; cnt72 = -cnt72; }
 
 
            //Выводим содержимое на picturebox
            pictureBox1.BackgroundImage = My;
 
            //задержка в положениях максимального раскрытия и сжатия
            if (y1 <=60) { Thread.Sleep(500);}
            if (y1 >= 100) { Thread.Sleep(500); }
        }
 
 
   }
}

Прикрепленный файлРазмер
Muzychuk_rings.zip56.35 кб