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

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

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

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

У меня проблема вот с этим: gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);. Вылезает ошибка: CS1061 "object" не содержит определения "GL_COLOR_BUFFER_BIT", и не удалось найти доступный метод расширения "GL_COLOR_BUFFER_BIT",...
Большое спасибо. Единственный код который прошел без каких либо ошибок. Ура!!!
Скажите пожалуйста, подскажите алгоритм по которому по заданным точкам можно определить тип многогранника, скажем это куб или прямоугольный параллелепипед. Нашел теорию по этим фигурам: https://www.mat... https://www.mat... Акцентировать внимание...
Всем у кого не работает. файл wizard.script Ещё одно упоминание Glut32 в строке "if (!VerifyLibFile(dir_nomacro_lib, _T("glut32"), _T("GLUT's"))) return false;" меняем на "if (!VerifyLibFile(dir_nomacro_lib, _T("freeglut"), _T("GLUT's"))) return...
Не получается, емаё

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

Рейтинг@Mail.ru Яндекс.Метрика
Среда программирования: 
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
    {
        //Инициализация bitmap и графики
        private Bitmap My;
        private Graphics g;
        //i положение по "oX"
        int i = 265;
        //y положение по "oY"
        int y = 220;
        //параметр для изменения радиуса круга
        int r = 4;
        public Form1()
        {
            InitializeComponent();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
         int cnt=0;
        private void Form1_Load(object sender, EventArgs e)
        {
 
            timer1.Start();
        }
 
 
       //правый шар синего цвета
        private void DrawR1()
        {   //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
 
            SolidBrush Gl2 = new SolidBrush(Color.Blue);
            //"очистка" экрана
            g.Clear(Color.White);
            //прорисовка круга
            g.FillEllipse(Gl2, i, y, 20 + r, 20 + r);
            // изменение положения для следующий прорисовки     
            r = r + 52;
            y = y -26;
            i = i + 8;
 
        }
 
        //правый шар белого цвета
        private void DrawR2()
        {   
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
 
            SolidBrush Gl3 = new SolidBrush(Color.White);
 
            g.Clear(Color.Blue);
            g.FillEllipse(Gl3, i, y, 20 + r, 20 + r);
            // изменение положения для следующий прорисовки  
            r = r + 52;
            y = y -26;
            i = i + 8;
 
        }
 
 
 
        //левый шар синего цвета
        private void DrawL1()
        {
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
 
 
            SolidBrush Gl2 = new SolidBrush(Color.Blue);
 
            g.Clear(Color.White);
            g.FillEllipse(Gl2, i-r/2, y, 20 + r, 20 + r);
            // изменение положения для следующий прорисовки     
            r = r - 52;
            y = y + 26;
            i = i + 16;
        }
 
        //левый шар белого цвета
        private void DrawL2()
        {
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
 
            SolidBrush Gl3 = new SolidBrush(Color.White);
 
            g.Clear(Color.Blue);
            g.FillEllipse(Gl3, i - r / 2, y, 20 + r, 20 + r);
            // изменение положения для следующий прорисовки  
            r = r - 52;
            y = y + 26;
            i = i + 16;
        }
 
 
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
          //cnt определяет цвет фона и шара если "0" то шар синий фон белый
          if (cnt == 0)
            {   //i-положение по оси "Х"
                if (i >= 255 && i < 343)
                {
                 DrawR1();
                }
 
                if (i >= 61 && i < 237)
                {
                    DrawL1();
                    if (i >= 237)
                    {
                        i = 255;
 
                    }
                }
 
            }
 
            else 
          {
                if (i >= 255 && i < 343)
                {
                    DrawR2();
                }
 
               if (i >= 61 && i < 237)
                {
                    DrawL2();
                    if (i >= 237)
                       {
                            i = 255;
                       }
                }
 
          }
 
 
 
            //если то меняем цвет
            if (i >= 343)
            {
 
                i = 61;
                if (cnt == 0) { cnt = 1; }
                else { cnt = 0; }
 
            }
            //Выводим содержимое на picturebox
          pictureBox1.BackgroundImage = My;
 
        }
 
   }
}

Прикрепленный файлРазмер
Muzychuk_Inversion.zip53.12 кб