2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 21:33 
Добрый день,

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

Я хочу приблизить эту кусочно-линейную функцию чем-то, что будет существенно меньше тратить памяти, пусть с заданной величиной потери точности аппроксимации.

Если обычные сплайны (пусть кубические) - тут все просто - берем аппроксимацию исходной функции на уполовиненном числе шагов, строим сплайн 5-ой степени, считаем его 4-ую производную и тода разбивка по сегментам должна быть такой, чтобы интерграл функции нормы этой 4-ой производной на каждом сегменте получался бы одинаковым.

А вот как с Безье поступать? Вроде тут интеграл-то не возьмешь, так как моя исходная кусочно-линейная функция может сама через себя проходить...

Посоветуйте, пожалуйста, чего-то путевого, а то чатгпт вроде ничего не смог посоветовать.

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 21:44 
Справка, в которой описано, как это сделать с применением Математики.

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 21:52 
ilghiz в сообщении #1587419 писал(а):
а то чатгпт вроде ничего не смог посоветовать

:facepalm: :facepalm: :facepalm:

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 22:14 
ozheredov в сообщении #1587425 писал(а):
ilghiz в сообщении #1587419 писал(а):
а то чатгпт вроде ничего не смог посоветовать

:facepalm: :facepalm: :facepalm:

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

-- 29.03.2023, 21:17 --

Markiyan Hirnyk в сообщении #1587422 писал(а):
Справка, в которой описано, как это сделать с применением Математики.

Спасибо! Я правда про оптимальное разбение там ничего не нашел, наверное плохо искал, тыкните, пожалуйста, где именно там про оптимальное разбиение написано (про обычные Безье, как их строить и даже как ими аппроксимировать, если шаг задан - я знаю и выше писал).

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 22:57 
ilghiz в сообщении #1587427 писал(а):
по существу вы в моих темах ни разу ничего не писали


Вы в своих, к сожалению, тоже.

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение29.03.2023, 23:47 
 ! 
ilghiz в сообщении #1587427 писал(а):
Уйдите, пожалуйста, из моей темы
Тема, начатая пользователем, не является его собственностью. Любой участник форума имеет право в ней писать.
Идея спрашивать у ChatGPT совета по математике настолько странная, что реакция в виде фейспалма вполне естественна. Считать ее нарушением я не буду.
На этом настоятельно прошу ilghiz и ozheredov прекратить обмен любезностями.

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение30.03.2023, 08:57 
ilghiz
Извините, в Вашем вопросе "про оптимальное разбение" не спрашивается. Вряд ли стану отвечать на Ваши вопросы в будущем. Всего доброго.
PS. В справке есть такое место "Fit to a cubic Bézier curve, using Bernstein polynomials"
Код:
fit = Fit[data, Table[BernsteinBasis[3, i, t], {i, 0, 3}], t]

 
 
 
 Re: Как аппроксимировать кусочно-линейную Безье сплайнами?
Сообщение30.03.2023, 10:22 
Аватара пользователя
ilghiz в сообщении #1587419 писал(а):
А вот как с Безье поступать? Вроде тут интеграл-то не возьмешь, так как моя исходная кусочно-линейная функция может сама через себя проходить...

Путь на плоскости - это вектор-функция $(x(t),y(t))$ , где уже каждая из двух функций - это обычная одномерная функция. Посмотрите вот эту статью. В принципе тут поиском можно много чего накопать. В том числе и на английском.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group