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

Вход на сайт

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

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

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

Извините за тупой вопрос. У меня при сборке Вашего примера выходит ошибка: "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

WEB

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

Для определённого количества точек, заданных своими координатами, построить кривую, называемую β-сплайном, которая является аппроксимацией неизвестной функции, содержащей исходные точки.

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

Алгоритм закраски с затравкой

С помощью этого алгоритма можно закрашивать любые замкнутые области.
Суть метода заключается в следующем: мы берём затравочную точку и закрашиваем её. Для каждого незакрашенного соседа мы выполняем аналогичную процедуру. Продолжаем делать это пока не дойдем до границы области.

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

Задача: Построить окружность, используя алгоритм Брезенхема.
Алгоритм: Строим четверть окружности, и достраиваем остальные симметрично. На каждой итерации цикла выбираем одну из трёх возможных точек(сравниваем расстояние от центра до выбранной точки с радиусом окружности).

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

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

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

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

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

Провести прямую линию между двумя точками, заданными своими координатами. Использовать растровый алгоритм Брезенхэма.

Скриншот к примеру
Среда программирования: 
HTML + Javascript + jquery.js + d3.js
Статья по теме: 

Задача - нарисовать фрактал "Папоротник Барнсли".
1.Создаем файл fern.html (fern - папоротник), к которому подключаем файл fern.js, содержащий основную часть программы. Также подключаем библиотеки jquery.js и d3.js, содержащие весь необходимый инструментарий.

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

Задача - определить, находится точка внутри многоугольника или нет.

Как использовать?
Запустить в браузере файл index.html (файл main.js должен быть в той же директории, что и файл index.html), а дальше все просто и очевидно!

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

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

1. Создадим файл index.html, в котором подключим файл bird.js и создадим блоки кнопок, отвечающие за каждую из операций.
По клику на кнопки "left", "right", "up", "down" будет вызываться функция move().
По клику на кнопки "turn left", "turn right" будет вызываться функция turn().
По клику на кнопки "+", "-" будет вызываться функция scale().

<html>
    <head>
        <title></title>