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

Вход на сайт

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

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

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

Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)
как исправить это , сделал все по инструкции
Timer1 - выдает ошибку. Использовал IdleTimer1, работает! unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, OpenGLContext, GL, GLU; type { TForm1 } TForm1 =...
в коде присутствуют ошибки! // Считываем координаты procedure TForm1.getCoords(Sender: TObject); var j1:longint; begin n:= StrToInt(Edit2.Text); //число точек s1:=Edit1.Text; s2:=''; i := 1; j:=1; k:=0...

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

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

Windows API

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

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

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

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

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

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

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

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

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

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

Определить принадлежит ли точка выпуклому многогольнику, в данном случае - пятиугольнику. Алгоритм основан на проверке положения точки относительно каждой из сторон пятиугольника.

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

В программе используется алгоритм удаления невидимых граней - алгоритм z-буфера. Рисуем два тела, одно тело частично закрывает другое. В конкретном примере это куб позади куба.
Для построения сцены необходимо щелкнуть на форме левой кнопкой мыши. Невидимые грани куба перекрываются видимыми, в результате получаем визуально объемную картинку.

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

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

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

Алгоритм DDA-линии растеризует отрезок прямой между двумя заданными точками, используя вычисления с вещественными числами. Аббревиатура DDA в названии этого алгоритма машинной графики происходит от англ. Digital Differential Analyzer (цифровой дифференциальный анализатор) — вычислительное устройство, применявшееся ранее для генерации векторов. Несмотря на то, что сейчас этот алгоритм практически не применяется, он позволяет понять сложности, которые встречаются при растеризации отрезка и способы их решения.

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

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