2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Задача о волноводе
Сообщение18.08.2008, 00:45 


12/08/08
31
Помогите с задачей. Суть в следующем: две произвольной формы стенки, запускается частица, которая каким-то образом отталкивается от стенок и пролетает между ними. В какой программе лучше такую задачу решить и каким образом? Я в программировании очень не сильна. Сложность возникает с изменением направления после столкновения частицы со стенкой. Вообще данная задача является упрощенной моделью движения света в широко применяемых в наше время волноводах.

 Профиль  
                  
 
 
Сообщение18.08.2008, 08:15 
Экс-модератор
Аватара пользователя


23/12/05
12064
Marta в сообщении #139190 писал(а):
Вообще данная задача является упрощенной моделью движения света в широко применяемых в наше время волноводах.

Это будет очень плохонькой моделью волновода

 Профиль  
                  
 
 
Сообщение18.08.2008, 08:45 


21/03/06
1545
Москва
Цитата:
Сложность возникает с изменением направления после столкновения частицы со стенкой

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

 Профиль  
                  
 
 Re: Задача о волноводе
Сообщение18.08.2008, 11:27 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Marta писал(а):
Сложность возникает с изменением направления после столкновения частицы со стенкой.

Разбейте Ваши поверхности на трехугольные элементарные поверхности. У каждой элементарной трехугольной поверхности определите нормаль. Задайте начальную точку и вектор скорости. Осуществите поиск элементарного треугольника, который пересечет линия направления движения с минимальным расстоянием. Сосчитайте координаты точки пересечения - это будут начальные координаты для следующего расчета соударения. Перемножте скалярно Ваш вектор скорости на единичный вектор нормали найденного Вами элементарного треугольника. Вычтите от текущего вектора скорости вектор единичной нормали, умноженный на удвоенное скалярное произведение. - это будет новый вектор скорости. Повторите итерацию требуемое число раз.
Разбиение поверхности на треугольники можно проводить исходя из разделения на четырехугольники регулярной сеткой, делением на два треугольника ( в пространственном случае могут быть проблемы с точностью вычисления векторов нормалей). Измельчите сетку и убедитесь что результат достигается тот же. Процедуру отлаживайте на пробной плоской геометрии поверхностей - легче визуализировать

Marta писал(а):
В какой программе лучше такую задачу решить и каким образом?

Основная проблема в визуализации траектории. Воспользуйтесь тем, что Вам знакомо.

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

Модераторы: photon, profrotter, Парджеттер, Супермодераторы



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

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


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

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