2014 dxdy logo

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

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




На страницу 1, 2, 3, 4, 5 ... 14  След.
 
 Моделирование преобразования кривой...
Сообщение22.03.2010, 20:55 
Занимаюсь моделированием такой задачи: Дана замкнутая кривая, далее нужно перемещать каждую точку этой кривой со скоростью пропорциональной кривизне в этой точке в направлении нормали к этой кривой. Хотел бы узнать советы и идеи по реализации алгоритма решения этой задачи. У меня чего то не получается поставить грамотно задачу, ну т.е. записать уравнение которое нужно решать. Записал в таком виде, но сомневаюсь в правильности записи: ${x_t=\frac{y_{xx}}{(1+y_x^2)^2}};  y_t=\frac{y_{xx}y_x}{(1+y_x^2)^2}$ Вот такие уровнения записал и думаю, что нужно их решать хотя в них очень сомневаюсь. Вообщем прошу помощи, как правильно поставить задачу чтобы получить движение точек кривой по выше написанному закону.

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 21:12 
Аватара пользователя
Сразу представил себе, как окружность либо медленно расползается, либо схлопывается к точке. интересно, как в других частных случаях?

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 21:16 
Все кривые превращаютя в окружность, все неровности выпрямляются и когда получается окружность, дальше как вы сказали) все идет к точке и схлопывается.

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 21:22 
Аватара пользователя
но коэффициент пропорциональности может быть и отрицателен? Кривая, я полагаю,гладкая и без самопересечений.
Вот тут вопрос. Как Вы определяете направление скорости вдоль нормали. Считается ли, что нормаль напавлена внутрь или же берётся направление в сторону центра кривизны?










.

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

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 22:06 
Аватара пользователя
тогда ей некуда деваться. Стянется к точке, если начальная кривая, ну область, ей ограниченная, выпукла. А если она сложной формы? Есть ли какие ограничения на начальные условия? Может ли кривая быть свёрнутой, как спираль. и помешает ли ей это стянуться к точке?

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 22:21 
Я думаю, что конечно нужно ввести ограничение на самопересичение, хотя думаю что это не момешает ей выпрямиться и привратиться в окружность. Но все равно я рассматриваю кривые без самопересечений, кривые могут быть в некоторых местах вогнутые, а в некоторых выпуклые.

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 22:55 
Аватара пользователя
alexey007 в сообщении #301025 писал(а):
У меня чего то не получается поставить грамотно задачу, ну т.е. записать уравнение которое нужно решать.
Задача несложная, давайте попробуем "поставить грамотно". Пока не вижу, чтобы потребовалось решать какие-то уравнения.
На мой взгляд, надо точно (формульно) записать Вашу фразу "Дана замкнутая кривая,..." Дана --- как? Параметрическими уравнениеми? Неявным уравнением типа $F(x,y)=0$? О том, как эти уравнения будут согласованы с замкнутостью, поначалу придётся не думать.

Потом определимся с нормалью к кривой. И кривизна понадобится.

Потом составим уравнения движения вдоль нормали. Про Ваши формулки
alexey007 в сообщении #301025 писал(а):
${x_t=\frac{y_{xx}}{(1+y_x^2)^2}};  y_t=\frac{y_{xx}y_x}{(1+y_x^2)^2}$
мало что понятно; $t$ --- это параметр оригинальной кривой, или мы уже движемся, и это время? (Т.е., малость потелепатировав, можно, наверное, догадаться, но ведь и немного лень!)

Потом напишем программку, потестируем, поищем свои ошибки и недосмотры, итд...

Типа --- начали? Определяемся со способом задания кривой?

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 23:07 
Думаю удобнее будет параметрически задать кривую, в задаче ничего конкретно не сказано, так что я думаю лучше параметрически задавать кривую.

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 23:14 
Аватара пользователя
AKM в сообщении #301103 писал(а):
Потом определимся с нормалью к кривой. И кривизна понадобится.


-- Пн мар 22, 2010 23:17:58 --

Замечу, что наша задача --- построить семейство кривых. Параметр семейства --- время, например, $T$. Я на самом деле призываю Вас самостоятельно ввести обозначения и записать формулы, по которым Вы будете потом "моделировать".

-- Пн мар 22, 2010 23:25:31 --

Направление движения точки? Скорость? Скорость постоянна? Она определяется кривизной в начальной точке и не меняется с новой образовавшейся кривизной?

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2010, 23:28 
Вектор нормали для кривой заданной параметрически не помню и найти не могу. Кривизна кривой выглядит так $k(s,t)=\frac{x(s,t)_sy(s,t)_{ss}-y(s,t)_sx(s,t)_{ss}}{(x(s,t)_s^2+y(s,t)_s^2)^{\frac32}}$, где s - я выбрал за парметр, а t-время.

 
 
 
 Re: Помогите разобраться
Сообщение23.03.2010, 00:50 
Аватара пользователя
Пока только критика.

Фраза типа "не помню и не могу найти формулу" совсем неуместна: Вы решаете задачу по дифф. геометрии (ну, может по программированию, но всё равно по дифф. геометрии). Так что вооружиться справочниками по ДГ или хотя бы Википедиями --- Ваша прямая обязанность. А формула для нормали несомненно имеется в любом справочнике-учебнике.

В качестве параметра кривой Вы выбрали буковку $s$. Весьма неудачный выбор! Просто этой буковкой обычно (почти всюду) обозначается натуральная параметризация: $s$ --- длина дуги кривой. Многие привыкли к этому, в частности, к тому, что ${x'_s}^2+{y'_s}^2=1$. Это довольно сильная традиция, и я настоятельно предлагаю ей следовать. Заботимся о читателях, используем любую другую буковку. У нас не часто будет возможность использовать натуральную параметризацию. В частности, мы наверняка попробуем начать с эллипса $[x(t)=a\cos t,\;y(t)=b\sin t]$, натуральная параметризация которого $[x(s),y(s)]$ была бы БРРР... Ужос!

А для всяких теоретических умствований, ежели таковые появятся, $s$-параметризация может оказаться весьма полезной!

Для порождаемых через время $T$ кривых предлагаю обозначения $X(t,T);\;Y(t,T)$. В частности, $X(t,0)=x(t);\;Y(t,0)=y(t)$.

Ваше обозначение производных тоже предлагаю малость поправить: например, $x(s,t)_{tt}$ пишется как $x''_{tt}(s,t)$, т.е. $x''_{tt}(s,t)$, или проще $x''_{tt}$.

А по делу --- завтра. И интернет ломается, и спать захотелось.
То бишь осталось выписать явный вид
$X(t,T)=x(t)+Tv_x(t)$,
$Y(t,T)=y(t)+Tv_y(t)$.

 
 
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 10:14 
С частными производными получается система. Если численно решать, то сложные вопросы о сходимости вероятно придется анализировать.

 
 
 
 Re: Помогите разобраться
Сообщение23.03.2010, 12:55 
Аватара пользователя
AKM в сообщении #301118 писал(а):
Скорость постоянна? Она определяется кривизной в начальной точке и не меняется с новой образовавшейся кривизной?
Да, судя по последнему сообщению автора (с формулой для кривизны), изменение кривизны следует учитывать. Задачка становится существенно сложнее... Настоящее моделирование, наверное.

 
 
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 14:09 
Аватара пользователя
Я предлагаю рассмотреть функцию $F(t,x,y)$, где кривульки будут просто линиями уровня по $t$. И написать уравнения для каждой точки поверхности.
Кстати, несложно сделать численную анимашку и посмотреть. Мне кажется самопересечений не возникнет в случае достаточно гладкой кривой из-за какой-нибудь теоремы о единственности решения. А решать численно. Аналитически только в простейших случаях типа окружности.
Изображение

 
 
 [ Сообщений: 206 ]  На страницу 1, 2, 3, 4, 5 ... 14  След.


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