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

Вход на сайт

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

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

torrvic, возможно, Вам нужно добавить -lGLU
Извините за тупой вопрос. У меня при сборке Вашего примера выходит ошибка: "undefined reference to gluLookAt". Не могу найти в какой библиотеке находится эта функция. У меня задано: -lGL -lglut ... Искал в /usr/lib таким образом: nm lib*so* | grep...
Здравствуйте. Спасибо за проект. У меня вопрос, по какой причине определение принадлежности точки многоугольнику работает некорректно, если координаты из больших чисел состоят, например: int[] vertex = new int[] {...
Сейчас проверила нашла причину не запускания // Создание контекста воспроизведения OpenGL и привязка его к панели на форме OpenGLControl1:=TOpenGLControl.Create(Self); with OpenGLControl1 do begin Name:='OpenGLControl1'; //вот тут...
Ну..кажется что то пошло не так http://pp.usera...

Счетчики и рейтинг

Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
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
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        //С загрузкой формы выводим сообщение!
 
        private void Form1_Load(object sender, EventArgs e)
        {    
            label1.Text = "Введите длину отрезка!";
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        //обработка кнопки "Построить"
 
         private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
 
           //очистка окна
            g.Clear(Color.White);
 
            //считываем длину отрезка
            int a = Int32.Parse(textBox1.Text);
 
           //рассчитываем координату Х
            int x = 610 / 2 - a / 2;
 
            // вызываем функцию прорисовки
            DrawB(x, 10, a);
 
        }
 
        //функция прорисовки
        private void DrawB(int x, int y, int width)
        {
            Graphics g = pictureBox1.CreateGraphics();
            // выбираем цвет заливки 
            SolidBrush Black = new SolidBrush(Color.Black);
            Pen myPen = new Pen(Color.Black, 1);
 
           //Поставим условие вызова и прорисовки 
 
            if (width >= 3)
            {
                //Отрезки изображаем прямоугольниками для наглядности
                g.DrawRectangle(myPen, x, y, width, 12);
                g.FillRectangle(Black, x, y, width, 12);
 
                 //Сдвигаемся вниз
                y = y + 40;
 
                //Вызываем функцию для двух полученных отрезков
                DrawB(x + width * 2 / 3, y, width / 3);
                DrawB(x, y, width / 3);
            }
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
    }
}

Прикрепленный файлРазмер
kantr.zip50.48 кб