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

Вход на сайт

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

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

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

Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...
Как реализовать в данном примере границы расчёта?

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

Рейтинг@Mail.ru Яндекс.Метрика

Pascal

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

Программа демонстрирует вращение четырехугольной пирамиды в OpenGL.

glTranlsatef() производит перенос объекта, прибавляя к координатам его вершин значения своих параметров.
glRotatef() производит поворот объекта против часовой стрелки на угол angle (измеряется в градусах) вокруг вектора (x,y,z).

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

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

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

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

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

Залить гранично-определенную область используя 4-связный алгоритм

Fill4(col, newcol : TColor; x, y : Integer) - рекурсивная ф-ция для заливки
col - цвет границы области
newcol - цвет заливки
x,y - координаты точки внутри области(заливочный центр)

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

Задача - определить, находится точка внутри многоугольника, снаружи или на границе, используя метод трассировки лучом. Создадим форму с двумя полями для ввода координат проверяемой точки и кнопкой. При нажатии на кнопку, поле для рисования заливается цветом clDefault для того, чтобы стереть предыдущие результаты построения(если таковые имеются), рисуется точка и выводится результат при помощи процедуры ShowMessage.

Используемые функции и процедуры:
Init() - Определение точек многоугольника
classify(),edgeType() - классифицируют точку

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

Программа, осуществляющая операции масштабирования, поворота и смещения произвольной фигуры и отрисовку ее в экранной области.

В Lazarus`е создаем форму, на которую добавляем следующие объекты: область для рисования, текстовые поля, в которые будут вводиться коэффициент масштабирования, угол поворота и координаты смещения данной фигуры, и кнопки, по нажатию которых будут соответственно выполняться требуемые операции.

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

По заданному количеству точек, задаваемых координатами x, y, необходимо построить кривую при помощи метода сглаживания кривой типа β-сплайна.
Создадим форму с двумя полями для ввода и кнопкой. В первое поле вводится количество точек, во второе - координаты точек. Отрицательные значения не поддерживаются. При нажатии на кнопку, поле для рисования заливается цветом clDefault для того, чтобы стереть предыдущие результаты построения(если таковые имеются) и затем строится кривая.
Используемые функции:

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

Программа демонстрирует процесс движения моллекул в идеальном газе. Для выбора параметров откройте вкладку "Меню".

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

Кривая Коха является типичным геометрическим фракталом. Процесс её построения выглядит следующим образом: берём единичный отрезок, разделяем на три равные части и заменяем средний интервал равносторонним треугольником без этого сегмента. В результате образуется ломаная, состоящая из четырех звеньев длины 1/3. На следующем шаге повторяем операцию для каждого из четырёх получившихся звеньев и т. д… Предельная кривая и есть кривая Коха.

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

При запуске программы на форме строится фрактал Дерево Пифагора.

Алгоритм:
1) Строим вертикальный отрезок
2) Из верхнего конца этого отрезка рекурсивно строим еще 2 отрезка под определенными углами
3) Вызываем функцию построения двух последующих отрезков для каждой ветви дерева

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

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

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

Для построения изображения нажмите кнопку "Button1"