2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Алгоритм криволинейно-непрерывной аппроксимации
Сообщение30.06.2011, 11:57 
Аватара пользователя


25/08/09
19
Chemnitz, Germany
Здравствуйте, уважаемые участники форума.
Мне необходимо разработать алгоритм и написать программу, обеспечивающую криволинейно-непрерывную аппроксимацию полиномом сложного контура, заданного множеством точек:
Изображение

Данное множество точек отражает траекторию движения центральной точки инструмента вдоль поверхности заготовки. Задача состоит в том, чтобы представить данную траекторию сочетанием сплайнов, которые расположены строго в пределах заданного допуска и соединены между собой криволинейно непрерывно, примерно вот так:
Изображение

Условие криволинейной непрерывности означает, что в точке сопряжения двух сплайнов значения первой и второй производных для обоих сплайнов соответственно равны:
Изображение

Аппроксимация реализуется через приближение полиномами 3-й и 5-й степени:
$y=C_0+C_1\cdot x+C_2\cdot x^2+C_3\cdot x^3$
и/или
$y=C_0+C_1\cdot x+C_2\cdot x^2+C_3\cdot x^3+C_4\cdot x^4+C_5\cdot x^5$

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

 Профиль  
                  
 
 Re: Алгоритм криволинейно-непрерывной аппроксимации
Сообщение30.06.2011, 14:32 
Заслуженный участник


15/05/05
3445
USA
Destin в сообщении #463660 писал(а):
...по сплайнам и по криволинейной непрерывности...

Замечание по терминологии.
Под построением сплайна обычно понимается кусочно-полиномиальная аппроксимация с условиями непрерывности производных в точках сшивания кусков. То есть то, что Вы называете "криволинейной непрерывностью" - это часть определения сплайна. В Вашем случае Вы хотите строить сплайн 3-й степени с дефектом 1 или сплайн 5-й степени с дефектом 3.

Литература годится любая, но лучше - практически ориентированная, например:
- Шикин Е.В., Плис А.И. Кривые и поверхности на экране компьютера. Руководство по сплайнам для пользователей. М. Диалог. 1996
- Карл де Бор. Практическое руководство по сплайнам. Радио и связь. 1985
- Василенко В.А. Сплайн-функции: теория, алгоритмы, программы. Новосибирск. Наука (СО). 1983

Теория:
- Алберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее приложения. М. Мир. 1972
- Стечкин С. Б., Субботин Ю. Н. Сплайны в вычислительной математике. М. Наука. 1976

 Профиль  
                  
 
 Re: Алгоритм криволинейно-непрерывной аппроксимации
Сообщение01.07.2011, 11:50 
Аватара пользователя


25/08/09
19
Chemnitz, Germany
Yuri Gendelman в сообщении #463701 писал(а):
Замечание по терминологии.
Под построением сплайна обычно понимается кусочно-полиномиальная аппроксимация с условиями непрерывности производных в точках сшивания кусков. То есть то, что Вы называете "криволинейной непрерывностью" - это часть определения сплайна. В Вашем случае Вы хотите строить сплайн 3-й степени с дефектом 1 или сплайн 5-й степени с дефектом 3.

Все правильно, просто определение "криволинейная непрерывность" $-$ это калька с английского. "curvature continuity". В зарубежной литературе также различают "тангенциальную непрерывность" $-$ "tangential continuity" и "прерывность" $-$ "discontinuity" Мне так кажется удобным, но не важно.

Основная проблема для меня состоит в том, как оптимально уложить аппроксимированные сплайны в поле допуска.
На данный момент я пока имею дело с двухмерной системой координат, т. е. аппроксимируемый контур лежит в плоскости.
Система управления станка предоставляет мне следующие возможности:
  1. Я могу определить сплайн как зависимость координаты $y$ от координаты $x$
  2. Наоборот, как зависимость координаты $x$ от координаты $y$
  3. Как зависимость обоих координат $x$ и $y$ от некоторого параметра $t$

Вопрос:
Если предшествующий сплайн у меня определен как зависимость $y$ от $x,$ а последующий я хочу определить как зависимость $x$ от $y,$ то, если я правильно понимаю, производная первого порядка для второго сплайна будет рассчитываться по формуле:
$f'_2(x_{start})=\frac{1}{f'_1(x_{end})},$
а как будет рассчитываться производная второго порядка для второго сплайна? Будет ли она просто равна производной второго порядка первого сплайна или существует формула для ее расчета?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group