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

Вход на сайт

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

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

Windows API

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Построить фрактал Квазиклевер, в котором вместо окружностей за единицу берутся ромбы.
После запуска программы, необходимо нажать на появившееся окно для отрисовки фрактала.

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Задача - построить фрактал Серпинского(треугольник и ковер).
На форме находятся 2 кнопки: Triangle и Carpet.
При клике на кнопку Triangle получаем изображение фрактала треугольника,
при клике на кнопку Carpet получаем изображение фрактала ковра.
Количество уровней по умолчанию составляет 5(переменная Level).

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Задача — написать программу, которая будет строить изображение Канторова множества.

Для построения, необходимо в поле для ввода ввести значение длины изначального отрезка и нажать кнопку "Построить".

Скриншот к примеру
Среда программирования: 
Borland Delphi 7.0

Демонстрация триангуляции многоугольника.
Рисуем многоугольник, разделяем его на треугольники.
Для запуска программы достаточно запустить файл .exe.

Скриншот к примеру
Среда программирования: 
Lazarus

Определить точку пересечения двух отрезков. Решение состоит из нахождения векторного произведения function VM(), определения факта пересечения 2 отрезков function LC(), составления уравнений прямых procedure PtL() и определения точки пересечения function LtP(), собственно.

Скриншот к примеру
Среда программирования: 
Lazarus

Алгоритм работает на основе заданной точки (x,y), которая является центром многоугольника, R - расстоянием от центра до ближайшей стороны и числу k, говорящее о количестве сторон. Смысл алгоритма заключается в том, что мы образно рисуем окружность вокруг центровой точки с радиусом R. И разрезаем её на k частей под углом z:=z+k, где k=360/k.

Скриншот к примеру
Среда программирования: 
Qt

Заполнить ограниченную область картинки черным цветом с использованием алгоритма поиска в ширину.

Скриншот к примеру
Среда программирования: 
Eclipse
Статья по теме: 

Построить фрактал, описанный в статье.
Функция drawFractal получает в качестве параметров координаты центра круга, затем радиус, затем индекс, определяющий положение его родителя(для самого первого полагаем, что родитель был "снизу"), а также количество итераций. Рисуем круг со входными данными, далее в случае, если итераций не осталось, заканчиваем отрисовку, иначе - находим координаты всех центров потенциальных кругов-потомком, а затем для каждого, кроме того, чье место занято родителем, вызываем эту же самую функцию с соответствующими параметрами.

Скриншот к примеру
Среда программирования: 
Eclipse
Статья по теме: 

Данная программа рисует кривую Минковского.
Алгоритм:
На вход функции отрисовки drawMinkovskyCurve получает параметры, определяющие местоположение двух начальных точек и количество итераций. Далее если количество итераций равно 0, рисуем отрезок между этими точками. В ином случае определяем горизонтальный отрезок или вертикальный, далее заполняем массивы координат ломаной, после чего вызываем нашу функцию рекурсивно для каждого звена ломаной с количеством итераций на 1 меньше.

Скриншот к примеру
Среда программирования: 
Lazarus

Задача - построить перспективную проекцию усеченной пирамиды с четырехугольным основанием.

Создадим форму с кнопкой, при нажатии на которую стираются предыдущие результаты построения (если таковые имеются) и заново рисуется уже повернутая усеченная пирамида.

Используемые функции и процедуры:
FormCreate() - определение координат усеченной пирамиды;
Button1Click() - очищает экран, вращает и рисует заново усеченную пирамиду.