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

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

Построения
на плоскости (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 Яндекс.Метрика
Язык программирования: 
C#
Среда программирования: 
Microsoft Visual Studio Express 2012

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; //для Thread.Sleep(500);
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private Bitmap My;//создаём  bitmap и графику
        private Graphics g;
 
        SolidBrush FON = new SolidBrush(Color.Black); //определяем цвет фона
        SolidBrush square = new SolidBrush(Color.FromArgb(0, 255, 0));//цвет квадрата
        int i = 0;
 
        int angle = 0; //вводим угол на который будем поворачивать
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void Draw()
        {//функция прорисовки
 
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //создаём графику из bitmap
            Graphics g = Graphics.FromImage(My);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;//для сглаживания
            g.FillRectangle(FON, 0, 0, 800, 800);//затираем рисунок фоном
 
            g.TranslateTransform((float)this.Width / 2, (float)this.Height / 2);//перемещаем центр координат в середину pictureBox1
 
            g.RotateTransform(angle);//поворачиваем на заданный угол
 
            if (angle < 45)
            {//переходим от зелёного цвета к красному во время поворота
            SolidBrush square = new SolidBrush(Color.FromArgb(65 + i, 150 - i, 0));//задаём цвет
                i += 3;//увеличиваем количество красного и уменьшаем количество зелёного цвета
                g.FillRectangle(square, -150, -45, 300, 90);// рисуем горизонтальный и вертикальный прямоугольники
                g.FillRectangle(square, -45, -150, 90, 300);
            }
 
            if (angle >= 45)
            {//переходим от красного цвета к зелёному во время поворота
                SolidBrush square = new SolidBrush(Color.FromArgb(200 - i, 15 + i, 0));//задаём цвет
                i += 3;//увеличиваем количество зелёного и уменьшаем количество красного цвета
                g.FillRectangle(square, -150, -45, 300, 90);//// рисуем горизонтальный и вертикальный прямоугольники
                g.FillRectangle(square, -45, -150, 90, 300);
            }
 
            //отображаем bitmap на PictureBox 
            pictureBox1.BackgroundImage = My;
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            angle ++;//увеличиваем угол для вращения
            if (angle == 45)
            {
                Thread.Sleep(500);//когда угол 45 градусов, делаем задержку
                i = 0;//обнуляем что бы "определяющий цвет if" работал корректно
            }
            if (angle >= 90){
                Thread.Sleep(500);//когда угол 90 градусов, делаем задержку
                angle = 0;//после полного круга обнуляем, чтоб не выйти за int после долгой работы
                i = 0;//обнуляем что бы "определяющий цвет if" работал корректно
            }
            Draw();//вызываем функцию прорисовки
 
            pictureBox1.BackgroundImage = My;
        }
    }
}

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