Алгоритм закраски с затравкой
С помощью этого алгоритма можно закрашивать любые замкнутые области.
Суть метода заключается в следующем: мы берём затравочную точку и закрашиваем её. Для каждого незакрашенного соседа мы выполняем аналогичную процедуру. Продолжаем делать это пока не дойдем до границы области.
Алгоритм использует механизмы сглаживания при растеризации линии. При этом ступенчатые выступы на линии становятся менее заметны. Этот эффект достигается следующим образом. На первом шаге для точки, лежащей на линии, вычисляются две ближайшие точки растра. Далее между этими двумя точками распределяется прозрачность(альфа-канал) цвета пиксела пропорционально близости пиксела к линии таким образом, чтобы суммарная яркость была равна единице.
В этом примере используется анимация из компьютерной игры, которая для более плавной анимации использует 7 меняющихся изображений, которые я склеил в одно изображение для удобства, и получилось широкое покадровое изображение.
Используем функцию ,которая анимирует наши спрайты
Провести прямую линию между двумя точками, заданными своими координатами. Использовать растровый алгоритм Брезенхэма.
Задача - нарисовать фрактал "Папоротник Барнсли".
1.Создаем файл fern.html (fern - папоротник), к которому подключаем файл fern.js, содержащий основную часть программы. Также подключаем библиотеки jquery.js и d3.js, содержащие весь необходимый инструментарий.
Задача - определить, находится точка внутри многоугольника или нет.
Как использовать?
Запустить в браузере файл index.html (файл main.js должен быть в той же директории, что и файл index.html), а дальше все просто и очевидно!
Программа, демонстрирующая смещение, поворот, масштабирование произвольной фигуры и ее отрисовку на экранной области.
1. Создадим файл index.html, в котором подключим файл bird.js и создадим блоки кнопок, отвечающие за каждую из операций.
По клику на кнопки "left", "right", "up", "down" будет вызываться функция move().
По клику на кнопки "turn left", "turn right" будет вызываться функция turn().
По клику на кнопки "+", "-" будет вызываться функция scale().
<html> <head> <title></title>
Задача - определить, находится точка внутри многоугольника, снаружи или на границе.
1. Создадим файл index.html, в котором подключим файл main.js и создадим форму с полем ввода координат многоугольника, и полем для ввода координат точки. По клику на кнопку будет вызываться функция check().
Результат проверки будет выводится в блоке #text.
<html> <head> <title></title> <meta charset="utf-8"/> <script src="main.js"></script> </head> <body> <form>
Задача - построить минимальную выпуклую оболочку для множества точек на плоскости.