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

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

Построения
на плоскости (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 C#

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 BnWCircles
{
    public partial class Form1 : Form
    {
        //объявление переменных
        //битмап и графика
        Bitmap B;
        Graphics G;
 
        //заливка фона и круга
        SolidBrush bl, wh;
 
        //координаты белого и черного кругов и их диаметры
        int xw, xb, yw, yb;
        int dw, db;
 
        //переменная для отслеживания положения круга
        int time;
 
 
 
        //функция, которая рисует круг по координатам его центра
        void DrawCrc(int x, int y, int d)
        {
            int rad = d / 2;
            int xx = x - rad;
            int yy = y - rad;
            G.FillEllipse(bl, xx, yy, d, d);
        }
        public Form1()
        {
            InitializeComponent();
        }
 
        //функция, которая рисует фон
        void DrawFon()
        {
            //черный фон
            G.FillRectangle(bl, 0, 0, pictureBox1.Width, pictureBox1.Height);
            //белый круг
            G.FillEllipse(wh, xw, yw, dw, dw);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            //инициализация битмап
            B = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            //и графики по битмапу
            G = Graphics.FromImage(B);
            //включение сглаживания
            G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
 
            //задание цветов заливки
            bl = new SolidBrush(Color.Black);
            wh = new SolidBrush(Color.White);
 
            // задание координат и диаметры для белого и черного кругов
            xw = 100;
            yw = 100;
            dw = 300;
 
 
            xb = 250;
            yb = 175;
            db = 200;
 
            //вызов функция прорисовки фона и черного круга
            DrawFon();
            DrawCrc(xb, yb, db);
 
            //вывод изображения
            pictureBox1.Image = B;
 
            //обнуление времени
            time = 0;
 
            //включение таймера
            timer1.Enabled = true;
 
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            //на каждом шаге увеличиваем время
            time++;
            //в зависимости от времени определяется действие - увеличение или уменьшение диамтера
            //и подъем или опускание черного круга
            if (time < 15){
                yb+=5;
                db -= 2;
            }
            else if (time < 30){
                yb+=5;
                db += 2;
            }
            else if (time < 45){
                yb-=5;
                db += 9;
            }
            else if (time < 60)
            {
                yb -= 5;
                db -= 9;
            }
            else
                time = -1;
 
            //прорисовка фона, круга
            DrawFon();
            DrawCrc(xb, yb, db);
            //вывод изображения
            pictureBox1.Image = B;
 
 
 
        }
    }
}

Прикрепленный файлРазмер
BnWCircles.zip135.17 кб