2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5 ... 14  След.
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 16:19 
Заслуженный участник


13/12/05
4584
Неизвестно еще будет ли вообще решение существовать, хотя надо оговаривать в каком классе функций. Еще оно может быть неединственным. Получается типа уравнения теплопроводности, только очень нелинейное
$$\frac{\partial\mathbf{r}}{\partial\tau}=\frac{\mathbf{r}''}{|\mathbf{r}'|^2}-\mathbf{r}'\frac{(\mathbf{r}',\mathbf{r}'')}{|\mathbf{r}'|^4}$$

Хотя нет. Оно квазилинейное.

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 16:20 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
Я предлагаю следующее (так мне видится задание "моделировать").

Имеем описание кривой в виде набора точек $z_i=x_i+\mathrm{i}y_i$, с шагом $\Delta t$ по параметру.
Для построение следующей итерации $\Delta T$ по времени кривизна и каcательная в точке $z_i$ вычисляется по точкам $z_{i-1},z_i,z_{i+1}$. Формулы простые:$$k_2=\dfrac{2\sin\rho_2}{|z_3-z_1|},\quad\text{где}\quad \rho_2=\arg(z_3-z_2)-\arg{z_2-z_1)$$(надеюсь, не ошибся), а нормаль, наверное, как $\arg(z_3-z_1)+\pi/2$ (или как-то поточнее). [upd] Это была плохая нормаль, нормаль к хорде. [/upd]
Замкнутую кривую не зря предложили --- алгоритм упрощается (в последовательности $z_{i-1},z_i,z_{i+1}$ предполагается, естественно, цикличность.

Вычислительный смысл задачи может быть ещё и в том, чтобы хранить новые данные в виде приращений к данным предыдущего шага, и перевычислять не только координаты, но и приращения. Т.е. блок данных для каждой точки должен состоять из $$z_i;\quad \delta z_i^- \equiv z_{i-1}-z_i;\quad  \delta z_i^+ \equiv z_{i+1}-z_i;\quad \delta z_i^0 \equiv  z_i^{new}-z_i.$$

-- Вт мар 23, 2010 16:37:54 --

Так, когда все $\delta z_1^0,\; \delta z_2^0,\;\ldots,\; \delta z_N^0$ вычислены для данного $dT$, то $$\begin{array}{rcl}
         \delta z_2^- &\equiv& z_1^{new}-z_2^{new}=(z_1+\delta z_1^0)-(z_2+\delta z_2^0)\\
  \text{т.е.}\quad \delta z_2^-  &{:}{=}&\delta z_2^- +\delta z_1^0-\delta z_2^0\\
                 \quad \delta z_2^+  &{:}{=}&\delta z_2^+ +\delta z_3^0-\delta z_2^0
\end{array}$$(типа оператор присваивания).

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 20:01 


29/12/09
366
Спасибо большое всем кто написал, пытаюсь разобраться в том что мне написали. АКМ скажите пожалуйста откуда вы взяли формулы для кривизны и нормали к кривой на комплексной плоскости, подскажите пожалуйста книгу, где можно это увидеть. И еще вопрос к Padawa, как вы получили дифференциальное уравнение? я просто мучился, мучился у меня ничего не получалось, а вы записали и еще заметили к том же что оно квазилинейное уравнение теплопроводности).

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 20:10 
Заслуженный участник


13/12/05
4584
alexey007
нет, это не уравнение теплопроводности, просто оно на него походит, тем, что по $\tau$ производная первого порядка, а по параметру кривой $t$ - второго порядка. Это чисто поверхностное наблюдение и, возможно, оно не отражает сути уравнения. К тому же это не одно уравнение а два, ведь $\mathbf{r}(t,\tau)=(x(t,\tau),y(t,\tau))$ - вектор.

А получил, исходя из того, что в натуральной параметризации вектор нормали, равный по модулю кривизне, записывается как $\dfrac{d^2\mathbf{r}}{ds^2}$. Остается просто перейти к произвольной параметризации.

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 20:24 


29/12/09
366
Ага, понял, спасибо Padawan . Меня вот интересует информация об исследовании таких уравнений, но тут даже идет речь о системе. Думаю даже придется искать статьи по этой теме, думаю, что эта тема еще не совсем изучена. Вообщем я новичек в исследовательской деятельности, информацию научную не очень умею искать, подскажите, что почитать и где поискать. Думаю неплохой метод АКМ предложил попробую его реализовать на компе, сравню с тем, что у меня есть, хотя я настолько примитивно делал, еще на втором курсе. Сейчас вот хочу основательно в этом разобраться, но опыта мало и сомневаюсь в своих действиях)))

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 21:00 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
alexey007 в сообщении #301458 писал(а):
АКМ скажите пожалуйста откуда вы взяли формулы для кривизны и нормали к кривой на комплексной плоскости

Комлексные числа здесь не более чем вектора, и всё можно переписать в терминах векторов, не заморачиваясь с комплексными числами. Надеюсь, это не вызовет затруднений.

Имея в виду численное решение, я подменил точную кривизну в точке $z(t)$ кривизной дуги, проходящей через три точки $A=z(t-\Delta t),\,B=z(t),\;C=z(t+\Delta t)$. Угол $\rho$ --- это угол, на который поворачивается вектор-хорда-сторона $BC$ по отношению к вектору $AB$. Знак $\sin\rho$ совпадает со знаком кривизны $k=\pm\dfrac1R$, где $R$ --- радиус описанной вокруг $\triangle ABC$ окружности. Из двух выражений для площади
$$S_{\triangle ABC}=\frac{|AB|\cdot|BC|\cdot|CA|}{4R}=\pm\frac12 |AB|\cdot|BC|\cdot\sin\underbrace{\angle ABC}_{\pi-\rho}$$получаем$$
k=\pm\frac1R=\frac{2\sin\rho}{|CA|}.$$ В последнем из двух $\pm$вариантов выбран правильный знак кривизны, в соответствии с ориентацией кривой.

Также направление касательной в точке $B$ я подменил направлением хорды $\Vec{AC}$. Соответственно, прибавил $90^\circ$ --- получил нормаль.

А решить качественно у меня не получилось: то ли в постскрипте так точность ограничена, то ли наошибался. А переделывать в матпакете уже не только лень, но и... :cry:

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение23.03.2010, 21:09 


29/12/09
366
Спасибо АКМ, буду реализовывать на компе. Да конечно понимаю, зачем вам это если с первого раза не получилось))), как сделаю сам могу отчетик кинуть с картинками, посмотрите. Спосибо за совет. Конечно понимаю, что задача серьезная тут нужно исследоать на сходимость эту схему, она же может быть неустойчивой. Вообщем задача сложная буду думать, конечно буду рад если напишите еще идеи на счет метода реализации этой задачи.

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение24.03.2010, 00:07 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
alexey007,
дабы не вводить Вас в заблуждение, отмечу, что я отнюдь не знаток темы численных методов. Моё предложение --- самое тупое интегрирование задачки. Для "идеального" компьютера, полагаю, оно вполне правильно (в примитивном смысле: чем меньше $dt$, $dT$, тем точнее ответ). Ну, я малость позаботился о минимизации потерь точности, применив самые общеизвестные-базовые приёмы. Просто задачка почему-то заинтересовала.

Тот факт, что даже на окружности моя схема довльно бысто выходит из повиновения, меня сильно смутил и удивил. Так что советую продолжать смотреть и по сторонам. Два других подхода Вам были предложены. Но их ещё хотелось бы дополнить соображениями с точки зрения (специализированных?) численных методов.

Не исключаю, что при высокой точности и моё предложение сработает.

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение24.03.2010, 00:41 
Заслуженный участник
Аватара пользователя


03/02/10
1928
alexey007 в сообщении #301025 писал(а):
Дана замкнутая кривая, далее нужно перемещать каждую точку этой кривой со скоростью пропорциональной кривизне в этой точке в направлении нормали к этой кривой. Хотел бы узнать советы и идеи по реализации алгоритма решения этой задачи


получим однопараметрическое семейство кривых
$R(s,t)=r(s)+ctk(s)n(s)$ (считаем параметризацию натуральной, $c$ -- коэффициент пропорциональности)

если нет точек где кривизна обращается в ноль, то
огибающей этого семейства является эволюта исходной кривой

А "что спрашивается в задаче"?-)

Можно реализовать это семейство в виде поверхности добавив аппликату -- просто и наглядно (считаем что вектор $r$ и его производные лежат в плоскости $z=0$):
$R(s,t)=r(s)+t\ddot{r}(s)+te_z$

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение24.03.2010, 00:50 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
Проблема в том, что у нас не $k(s)$, а $k(s,t)$. А известно только $k(s,0)$.

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение24.03.2010, 22:17 


29/12/09
366
Я все таки эту задачу свел немного к другой по совету хорошего специалиста. Вообщем я стал рассматривать не замкнутую кривую, а функцию y(x)=f(x) на отрезке [a,b]. и уже только эту кривую перемещаю по заданному закону. Она должна перейти в прямую, в результате такого движения. Все таки думаю, такая постановка будет попроще и привычней для меня: $x\in [a,b],t \in[0,T],y(x,0)=y_0(x),y_t(x,t)=\frac{y_{xx}(x,t)}{(1+y_x(x,t)^2)^2}$. Я все таки сомневась в правильности полученного уравнения, я взял кривизну $k(x,t)=\frac{y_{xx}}{(1+y_x^2)^{3/2}}$, a вектор единичной нормали для кривой, я так полагаю, выглядит таким образом $n(x,t)=(\frac{y_{x}}{(1+y_x^2)^\frac{1}{2}},\frac{1}{(1+y_x^2)^\frac{1}{2}})$. В какой то из компонет вектора нормали должен быть знак минус. Вообщем я получил это уравнение, написав слева производную по времени, а справа перемножил кривизну на игриковую составлющющую вектора нормали. Вообщем, если это уравнение будет описывать такое движение, то хорошо, дальше нужно будет его изучать. Подскажите, правильно ли я тут рассуждаю?

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение24.03.2010, 23:18 
Заслуженный участник
Аватара пользователя


03/02/10
1928
уравнение правильно написал Padawan, проще уже некуда

из того, что в начальный момент кривая имела "хороший" вид, не следует, что она "распрямится"
Вот рассмотрите пример: возьмем окружность радиуса 1, проведем диаметр, впишем в полукруг, образованный данным диаметром, две окружности одинакового диаметра d (его несложно вычислить), наша ось абсцисс -- прямая, соединяющая центры маленьких окружностей, ось ординат -- ось симметрии всего рисунка (поэтому начало координат -- в точке касания малых окружностей); пусть $A,B$ -- точки касания большой окружности и малых, а точки $C,D$ -- точки пересечения малых окружностей с осью абсцисс (отличные от начала координат)
Кривая, составленная из дуг $CA$, $AB$ и $BD$ является графиком дифференцируемой функции. Ну, сгладим ее, если хочется, до бесконечно дифференцируемой. Смысл в том, что если Вы начнете деформировать эту кривую по предложенному Вами правилу, она очень скоро перестанет быть графиком какой бы то ни было функции


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

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение25.03.2010, 18:22 


29/12/09
366
Еще в постановки задачи забыл добавить неподвижность граничных точек $y_t(a,t)=y_t(b,t)=0$. Paha вы задавали, вопрос о том, что спрашивается в задаче. В задаче просто нужно промоделировать движение кривой по такому закону. Я просто хочу свести задачу как можно мне понятному и простому виду от системы перешел к одному уравнению, вроде проще. Paha я немного не понял о чем вы писали выше, можете картинку отправить тех окружностей про которые вы говорите на alexeykozhakin@yandex.ru

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение25.03.2010, 19:25 
Заслуженный участник
Аватара пользователя


03/02/10
1928
alexey007 в сообщении #302330 писал(а):
Еще в постановки задачи забыл добавить неподвижность граничных точек


если граничные точки неподвижны, то как будет двигаться полуокружность $f(x)=\sqrt{1-x^2}$, $a=-1$, $b=1$?

вот Вам уравнение кривой из двух дуг
(мне бы проще было словами описать):
$$
f(x)=\left\{\begin{array}{ll}
\sqrt{R^2-x^2}-a,& x\in [-\sqrt{R^2-a^2},x_1]\\
\sqrt{\varepsilon^2-(x-x_0)^2},&x\in [x_1,x_0+\varepsilon]\end{array}\right.,
$$
где число $R$ подразумевается большим, $\epsilon>0$ малым, $R/2<a<R-4\varepsilon$,
числа $x_0$, $x_1$ находятся из уравнений $(R-\varepsilon)^2=a^2+x_0^2$, $x_1=Rx_0/(R-\varepsilon)$

участок вблизи $x=x_1$ на такой начальной кривой ведет себя при эволюции очень плохо... даже если сгладить его

P.S. Ники пишутся так, как пишутся. Не надо заглавных букв - это не имя)

 Профиль  
                  
 
 Re: Моделирование преобразования кривой...
Сообщение25.03.2010, 19:35 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
alexey007 в сообщении #302330 писал(а):
Еще в постановки задачи забыл добавить неподвижность граничных точек $y_t(a,t)=y_t(b,t)=0$.
Это как? Граничные точки не будут подчиняться общему закону? Граничные точки будут неподвижны, тогда как соседние бесконечно близкие $y(a+dx),\, y(b-dx)$ убегут незнамо куда?

И что за обозначения для точек: $y_t(a,t)=y_t(b,t)=0$? Причём здесь индекс $t$, служащий для обозначения производных (штрихи Вы упорно отказываетесь ставить)? Чисто опечатка?

А про неподвижные точки --- совсем ерунда, по-моему.

-- Чт мар 25, 2010 19:53:35 --

alexey007 в сообщении #302015 писал(а):
Я все таки эту задачу свел немного к другой по совету хорошего специалиста. Вообщем я стал рассматривать не замкнутую кривую, а функцию y(x)=f(x) на отрезке [a,b]. и уже только эту кривую перемещаю по заданному закону. Она должна перейти в прямую, в результате такого движения.
Не верю. Возьмите, например, параболу $y=a(1-x^2),\quad -1\le x\le 1$. При малом $a$ это, может, и так, а при большом верхушка параболы устремится вверх с огромной скоростью. Здесь проще в две параллельные вертикальные прямые поверить.

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

Ну, хорошо, ести это Вам как-то упростит рассуждения, временно, но в общем случае для этого приёма нет разумных оснований. К тому же, откуда известно, что преобразованная кривая всегда будет такой, однозначно проектируемой на хорду?

Кстати, любой достаточно малый кусочек, например, эллипса можно представить в таком виде. И что, любая достаточно малая дуга эллипса
alexey007 писал(а):
должна перейти в прямую, в результате такого движения
???

-- Чт мар 25, 2010 19:59:39 --

alexey007 в сообщении #302015 писал(а):
... $y_t(x,t)=\frac{y_{xx}(x,t)}{(1+y_x(x,t)^2)^2}$. Я все таки сомневась в правильности полученного уравнения,
По-моему, правильно.


Цитата:
...a вектор единичной нормали для кривой, я так полагаю, выглядит таким образом $n(x,t)=(\frac{y_{x}}{(1+y_x^2)^\frac{1}{2}},\frac{1}{(1+y_x^2)^\frac{1}{2}})$.
По-моему, неправильно: $n(x,t)=\dfrac{(-y'_{x},\;1)}{(1+y'_x^2)^{1/2}}$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 206 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 14  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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