|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexander Kuklev 2:5020/400 10 Nov 2002 05:56:10 To : All Subject : Кубические кривые Безье(Bezier) --------------------------------------------------------------------------------
X-POSTED-TO: RU.FLASH
Здравствуй, всемогущий All!
Hе убий меня модератор за длиннющее письмо. :-)
Примечание: Везде, где я пишу "кривые Безье"
подразумевается "кубические кривые Безье".
Во Macromedia Flash'е имеется инструмент Pencil.
Какие алгоритмы получения ломаной Безье по набору
положений мышки там используются в режимах Smooth
и Ink?
Как работает функция "Macromedia Flash - Popup
menu/Modify/Shape/Expand Fill"?
(Как называется "утолщение фигуры на заданную
величину" по-русски? Какие кейвёрды можно юзать
для поиска по этой теме в Google?)
Как изменить этот алгоритм так, чтобы он работал
корректно в случае, если в результате его работы
получится самопересекающаяся кривая?
Какой используется алгоритм для подсчета длины кривой?
Численное интегрирование? Иные численные методы?
Или существует "точное" решение?
Какой используется алгоритм для нахождения точки,
находящейся на заданном расстоянии по пути от его
начала.
(То есть, как бы то место, где будет находиться
точка, если пройдет по кривой n сантиметров от
начала.)
Какой используется алгоритм для нахождения всех
точек пересечения двух ломаных
Безье/самопересечений одной ломаной?
Существует ли алгоритм, позволяющий найти
ближайшую точку ломаной Безье к данной точке(не
обязательно лежащей на ломаной Безье)?
(Я точно знаю, что существует некий численный
алгоритм, и притом довольно быстрый, но точно не
знаю, какой.)
Какой используется алгоритм для вставки нового
узла в ломаную Безье, с наименьшими изменениями
формы пути? То бишь, разделения кривой Безье на две.
Требуется сделать фигурную заливку. То есть,
заполнить некоторую область экрана так, что цвет
пикселя P зависит от кратчайшего от точки P
расстояния до некоторой ломаной Безье Ф.
Существует ли более быстрый способ сделать такую
заливку, чем очевидный?
Под очевидным способом подразумевается:
{
Для каждого пикселя:
Hайти ближайшую точку на заданной кривой;
Hайти расстояние между точками
Выбрать цвет пикселя на основе полученной длины.
}
Причем, я ищу не обязательно очень точный
алгоритм. Главное - чтобы на глаз разница с точным
алгоритмом не была сильно заметна. Для меня важнее
скорость.
И еще один алгоритм я ищу:
Имеются две замкнутых ломаных Безье: А и В.
А лежит внутри В.
Hужно найти самую короткую ломаную Безье С такую,
что С лежит внутри В, а А лежит внутри С.
И еще:
Имеются две замкнутых ломаных Безье: А и В.
А лежит внутри В.
Hужно найти самую гладкую ломаную Безье С такую,
что С лежит внутри В, а А лежит внутри С.
(Я не уверен, что такая ломаная будет иметь
конечное число точек. :-(
Если у кого-нибудь есть малейшие мысли - прошу.)
Примечание: самая гладкая ломаная Безье - ломаная
Безье, имеющая наименьшую средне-квадратичную
кривизну.
То есть \\Integr(K(t)^2*dl), где dl - дифференциал
длины кривой в точке t.
Для кривой Безье:
x=at^3+bt^2+ct+d
y=et^3+ft^2+gt+h
Hужно найти неугловатую ломаную Безье, у которой
сумма значений Q всех отрезков минимальна.
Приветствуются вся доступная информация на
Русском, Английском и Hемецком языках.
В эху или емылом.
Заранее благодарен.
С уважением,
Александр Куклев.
Q=\\Integr{t=0;1}(((3at^2+2bt+c)(6et+2f)-(6at+2b)(3et^2+2ft+g))^2/((3at^2+2bt+
c)^2+(3et^2+2ft+g)^2)^2.5)
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6488577f71cc.html, оценка из 5, голосов 10
|