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

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

Построения
на плоскости (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;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private Bitmap My; //инициализация битмап
        private Graphics g; //инициализация графики
        SolidBrush pol1 = new SolidBrush(Color.Gold); //определяем цвет кругов
        SolidBrush pol2 = new SolidBrush(Color.FromArgb(0, 33, 55)); //определяем цвет фона
 
        float x, y; // координаты кругов
        int r = 42; // радиусы кругов
 
        float sp1, sp2; // переменные изменения скорости
        float angle1; // углы
        float angle2;
        float time; // перемеменные времени
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();//вызов таймера
        }
 
        private void Draw()
        {
 
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //создание битмапа
 
            Graphics g = Graphics.FromImage(My); //создание графики
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; //сглаживание
            g.FillRectangle(pol2, 0, 0, 800, 800); // заливаем фон
 
            g.TranslateTransform((float)pictureBox1.Width / 2, (float)pictureBox1.Height +50); //смещаем центр координат
 
            r = (int)pictureBox1.Width / 2; //задаем радиус
            angle1 = 0; // и задаем углы
            angle2 = (float)0.939;
            for (int i = 0; i < 12; i++)// в цикле прорисовываем каждый желтый круг
            {
 
                x = -40 + (float)(r * (float)Math.Cos(angle1+sp1));//иксовая координата
                y = -40 + (float)(r * (float)Math.Sin(angle1+sp1));//игриковая
 
                g.FillEllipse(pol1, x, y, 80, 80);//непосредственно круг
                angle1 += (float)0.5235;//увеличиваем угол
            }
 
            for (int i = 0; i < 10; i++)// аналогично темные круги
            {
                x = -42 + (float)(r * (float)Math.Cos(angle2 + sp2));
                y = -42 + (float)(r * (float)Math.Sin(angle2 + sp2));
                g.FillEllipse(pol2, x, y, 84, 84);
                angle2 += (float)0.628;//увеличиваем угол
            }
 
 
            pictureBox1.BackgroundImage = My;//отображаем битмап на пикчебокс
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {                
                sp1 -= (float)0.01;// изменяем скорости вращения темных и светлых кргов
                sp2 -= (float)0.012;
 
            if (sp1 >= 0.392) sp1 = 0;// в нужный момент обнуляем
            if (sp2 >= 0.392) sp2 = 0;
 
 
            time += (float)1.0051;//увеличиваем переменную времени
            if (time >= 10) time = 0;//некоторое время наши точки будут статичны 
 
            Draw();//вызываем функцию прорисовки
            pictureBox1.BackgroundImage = My;//отображаем битмап
        }
    }
}

Прикрепленный файлРазмер
Gorev-eclipses.rar49.85 кб