DVD |
Отправлено: 21.11.2003, 13:49 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Как выглядит уравнение волн (круговых) на воде? Как если в воду бросаешь камень. |
|
Артем |
Отправлено: 21.11.2003, 15:26 |
|
Не зарегистрирован
|
Это не математическая проблема, в гидравлике есть уравнение Новье-Стокса, которое надо разрешить для этого случая, конечно его на память не помню, но если интересно могу по рыться в литературе. |
|
DVD |
Отправлено: 22.11.2003, 05:55 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
То, что не в математике дело я и сам знаю, незря 5 курс физмата. НО я имел в виду решение или математический вид. Очень часто в прогах встречаю эту реализацию, а мне на спецкурсе сказали сделать падающие в воду капли, а для этого нужно решение уравнения.
Если найдешь литеретуру, скажи данные, пожалуйста.
Отредактировано DVD — 22/11/2003, 14:58 |
|
Георгий |
Отправлено: 22.11.2003, 10:46 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
лет 6 или 7 тому назад меня просили перенести с Basic на C одну програмку, которая похожа на то, что тебе надо.
http://georgiestar.pisem.net/net.rar
как она работает — в смысле физ модели — не знаю, но визуально на экране показывается нечто вроде колебаний поверхности воды. |
|
Aptem |
Отправлено: 22.11.2003, 20:19 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Я где-то читал, что это очень сложные дифференциальные уравнения !
|
|
Waters |
Отправлено: 23.11.2003, 18:08 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
Реализация алгоритма 3D воды...
wbr. |
|
Мансур |
Отправлено: 27.11.2003, 16:03 |
|
Не зарегистрирован
|
Тебе не надо копаться в дифер уравнений поверхностных волн.
Тебе надо взять некоторую синусоиды с уменшением амплитуды експоненциалным образом. и создать эффект бегущей волны.
Потому что элементарное решение той системы имеет такой вид |
|
exp |
Отправлено: 27.11.2003, 21:36 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Нет в дифурах все-таки придется покопаться.
Итак. Волновое уравнение:
d^2 F d^2 F d^2 F
_____= _____ + _____ (I)
dt^2 dx^2 dy^2
Заменим в этом ур-нии отношение бесконечно малых на отношени конечных приращений.
d^2 F
_____= (Ft+1-2*Ft+Ft-1)/(dt)^2? где Ft+1, Ft, Ft-1 — значения функции
dt^2 в данной точке в моменты времени
t+1,t,t-1. dt — разность по времени между t и t+1 или t и t-1.
Записав это для производных по х и у, получаем
(Ft+1-2*Ft+Ft-1)/(dt)^2=(Fx+1-2*Fx+Fx-1)/(dx)^2+(Ft+1-2*Fy+Fy-1)/(dy)^2
Итак, зная значения функции на текущем и предыдущем временном слое, ты можешь вычислить значения ф-ции на "будущем" слое
Неболбшая иллюстрация
Данные, необходимые для вычисления F(x,y,t+1)
| Y
| F(x,y+1,t)
| F(x,y,t) F(x,y,t) F(x+1,y,t)
| F(x,y+1,t)
|
|
| текущий момент времени t
|________________________
X
Также нужно F(x,y,t-1)
Теперь ближе к программированию.
Тебе понадобятся 3 матрицы F1,F2 — предыдущий и текущий временные слои и F3 — "будущий" временной слой. Его ищем.
Размеры матциц — количество точек для просчета функции F
Пусть по х это кол-во Х, а по у — У.
Тогда пробежав от 2-й до (Х-1) точки по х и от 2-й до (У-1) точки по у
ты найдешь значения F в момент времени t+1.
Осталось узнать, что творится на краях. Это определишь из своих конкретных краевых условий. Но так как наша водная гладь ничем не ограничена, то к точкам по границе также можно применить уравнение (I).
Когда ты определил значения F3 по границе, можешь приступать к вычислению значений на следующем временном слое, так как только что полученная матрица F3 становится текущей, а та, что была текущей, "стареет".
И последнее маленькое замечание. Уравнение (I) описывает гармониеские колебания, т.е предполагается, что колеблющаяся жидкость не имеет вязкости и не отдает энергию своих колебаний наружу, равно как и не принимает извне. Тогда непрерывное падение капель разболтает схему. Получится "буря в стакане". Чтоб этого не случилось тебе придется решать уравнение затухающих колебаний, где энергия колебаний расходуется на преодоление сопротивления вязкой среды.
Вооо-ооо..... вроде всё.
Метод Мансура пригодился бы в одномерном случае. И хорошо, что дифур аналитически решается. А если он не имеет решений среди элементарных функций? Тогда без разностных методов не обойтись.
З.Ы. DVD, а разве у вас вычмата не было?
Отредактировано exp — 27/11/2003, 22:39
|
|
DVD |
Отправлено: 05.12.2003, 14:45 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
2exp:
У нас был предмет "Компьютерное моделирование в физике", каким г-м мы там не занимались, а вот таких реальных вещей, как круги на воде не делали. Слушай, можешь на мыло сбросить эти уравнения, принцип-то мне понятен, но не могу разобрать где-что. Может сбросишь в Маткаде или в Ворде, или картинкой? |
|
exp |
Отправлено: 08.12.2003, 00:54 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Хорошо. Только скажи, насчет чего писать. И мыло твоё тоже не помешало бы.
|
|