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

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

Построения
на плоскости (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#
Среда программирования: 
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[] x = {
            75, 75, 200, 325, 325, 200,
        };
        double[] y = {
            250, 115, 50, 115, 250, 325,
        };
        double  x1 = 210.0, y1 = 200.0;
 
        //Инициализация bitmap и графики
        private Bitmap My;
        private const double pi = 3.14;
        // радиус центрального кольца
        double r = 80;
                // толщина кольца
        double a = 10;
                public Form1()
        {
            // выравнивание координат колец 
            for (int i = 0; i < N; i++)
            {
                x[i] += 50;
                y[i] += 50;
            }
 
            InitializeComponent();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
            timer1.Start();
        }
        double t = 0;//время 
        const int N = 6; //кол-во колец
        const double r1 = 50, r2 = 100, TICK = 0.010; //радиусы по которым будет увеличиваться кольцо
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            //Создаем bitmap
            My = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //Создаем графику из bitmap
            Graphics g = Graphics.FromImage(My);
          //cnt определяет цвет фона и шара если "0" то шар синий фон белый
            Pen Gl2 = new Pen(Color.White, (int)a);
            double[] rads = new double[N];
            // Изменения радиуса колец
            for (int i = 0; i < N; i++)
            {
                rads[i] = r1 + (r2 - r1) / 2 * (Math.Sin(2 * pi * t + 2 * pi * i / N) + 1);
            }
 
            for (int i = 0; i < N; i++)
            {
                //прорисовка колец
                Rectangle curr = new Rectangle((int)(x[i] - rads[i] / 2), (int)(y[i] - rads[i] / 2), (int)rads[i], (int)rads[i]);
                g.DrawEllipse(Gl2, curr);
                g.DrawEllipse(Gl2, (int)x1, (int)y1, (int)r, (int)r);
            }
            //Выводим содержимое на picturebox
            pictureBox1.BackgroundImage = My;
 
            t += TICK;
        }
 
 
   }
}
 
 

Прикрепленный файлРазмер
Nabiev pulse rings.zip57.68 кб