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

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

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace KGRa
{
    public partial class Form1 : Form
    {
        Bitmap myBitmap;//объявляем bitmap
        Graphics g;//и графику
        SolidBrush fon = new SolidBrush(Color.Gray);//цвет фона будет серым
        SolidBrush fil1 = new SolidBrush(Color.White);//цвет заливки одних квадратов будет белым
        int k = 58;
        int K = 1;
        int m = 0;
        int p = 0;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            triangle();//в таймере будем вызывать нашу функцию
        }
        private void triangle()
        {
            myBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);//создаем битмап
            Graphics g = Graphics.FromImage(myBitmap);//и графику                       
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;//избавляемся от пиксельности по краям
            if (K == 0)
            {
                g.FillRectangle(fon, 0, 0, 700,700);//заливаем фон
                Pen grayPen = new Pen(Color.Gray, 0);//цвет линий будет серым. Это нужно для того, чтобы была видимость разбиения треугольника
                Pen whitePen = new Pen(Color.White, 0);//цвет линий будет белым
                grayPen.Alignment = System.Drawing.Drawing2D.PenAlignment.Center;//линии будут увеличиваться относительно центра
                grayPen.Width = 1.0F + 9 * k;//увеличиваем толщину серой линии( создаём видимость разбиения треугольника)
                whitePen.Width = 1.0F + 2.41f * k;//увеличиваем толщину белой линии( увеличиваем наш центральный треугольник)
                Point[] crs = new Point[]{
                  new Point(-300,200), new Point(300,200),//набор точек начального треугольника
                    new Point(0, -300) };
                g.TranslateTransform(400, 300);//перемещаем центр координат в середину pictureBox1
                g.RotateTransform(k);//поворачиваем на заданный угол
                g.FillPolygon(fil1, crs);
                Point[] crs1 = new Point[]{
                    new Point(-145,-60),new Point(145,-60),new Point(0,198)};//набор точек треугольника, который и будет нашим разбиением
                g.DrawPolygon(grayPen, crs1);//рисуем серый треугольник
                g.DrawPolygon(whitePen, crs1);//и белый
                g.FillPolygon(fil1, crs1);
                k++;
            }
            if (k == 58)//это нужно для того, чтобы изображение повторялось
            {
                K = 0;
                k = 0;
            }
            pictureBox1.BackgroundImage = myBitmap;//и отображаем Bitmap на pictureBox
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();//в данной функции вызвается таймер
        }
    }
}

Прикрепленный файлРазмер
Pivovar_A_Triangle.rar26.68 кб