Алгоритмы построения кривой Безье на языках С и Паскаль / Построение кривой Безье - Библиотека алгоритмов
.htmПостроение кривой Безье - Библиотека алгоритмов
Содержание
АЛГОРИТМЫ
Статьи
Форум
Коллекция ссылок
Карта сайта
Английская версия
Сайт и автор
Новости
Рассылка новостей
О сайте
FAQ
Контакты
TERMS OF USE
Друзья
SOURCES.RU Алгоритмы - Интерполяция, аппроксимация и численное дифференцирование - Построение кривой Безье Построение кривой Безье Вообще-то, построение кривой Безье n-ого порядка не является задачей интерполяции, поскольку эта кривая проходит только через первую и последнюю указанные точки. Тем не менее, раздел "Интерполяция" является наиболее подходящим для размещения этого алгоритма местом, поскольку некоторое сходство с задачами интерполяции есть.
Кривая Безье является параметрической кривой, определенной на плоскости, но это определение легко может быть расширено для пространства большей размерности. Кривая n-ого порядка задается следующей формулой:
x(t) = Cn 0t 0(1-t) nx0 + Cn 1*t 1*(1-t) n-1*x1 + Cn 2t 2(1-t) n-2x2 + ... + Cn nt n(1-t) 0xn
Здесь xi - абсцисса i-ой точки, параметр t лежит в интервало от 0 до 1. Аналогично задаются другие координаты. Такая кривая проходит через первую и последнюю точки, но не обязательно проходит через остальные.
Обычно на практике используется кривая Безье третьего порядка. В таком случае кривая, построенная по набору точек, состоит из набора кривых третьего порядка. Первая кривая строится на основе точек 0, 1, 2, 3. Вторая - на основе 3, 4, 5, 6 и так далее.
Если нашли ошибку в алгоритме - сообщите!
Реализация алгоритма Перед использованием алгоритма: Прочитайте FAQ. Обратите внимание на раздел, посвященный выбранному вами языку.
Прочитайте комментарии. Сэкономите много времени, поскольку НУМЕРАЦИЯ ЭЛЕМЕНТОВ МАССИВОВ НЕ ВСЕГДА НАЧИНАЕТСЯ С НОЛЯ, а не все это замечают.
C# Исходный код на C# 1.0.
bezier.csharp.zip - Построение кривой Безье
C++ Исходный код на C++.
bezier.cpp.zip - Построение кривой Безье
Delphi Исходный код на Delphi.
Возможна компиляция в Free Pascal (в режиме совместимости с Delphi).
bezier.delphi.zip - Построение кривой Безье
Visual Basic 6 Исходный код на Visual Basic 6.
bezier.vb6.zip - Построение кривой Безье
Zonnon beta Исходный код на Zonnon.
Zonnon - экспериментальный язык, разработанный в ETH Zurich (см. www.zonnon.ethz.ch).
bezier.zonnon.zip - Построение кривой Безье
Бочканов Сергей, Быстрицкий Владимир
Copyright © 1999-2007
При поддержке проекта MANUAL.RU