Есть распростроняющаяся волна. В некоторый момент ее фронт имеет радиус R1. В этот же момент она начинает без потерь отражаться от "отражателя", имеющего радиус R2. Как посчитать изменеие радиуса фронта волны после отражения? Считаем что отражатель закреплен жестко и что R2 может иметь знак, который говорит о том, является отражатель выпуклым или вогнутым по отношению к фронту волны. Прошу сильно не плюватсо, рисовал в mspaint
Ну может задать угол луча относительно радиального направления к окружности R2 и время. Пусть за время t луч вышедший из источнега пройдет R1 и отразится от сферы 2 и пойдет назад. За то же время луч вышедший под углом Alpha к первому лучу также дойдет и отразится (угол падения=углу отражения) от сферы 2 и дойдет до какой то второй точки... нет?
Вот как это примерно выглядит. Непонятно... http://www.sendspace.com/file/gzs27p SashaTalakin Почти. Да какая разница-то) Решение ведь от этого не зависит)
Да не, вроде всетаки сфера... Вот тут 10000 спрайтов, почотче смотреца http://www.sendspace.com/file/487id8
http://www.sendspace.com/file/2v19xp Вот еще, теперь отражение от вогнутой поверхности. Мда... Фронт волны после отражения превращается в довольно сложную кривую...
Похоже, что на плоскости после отражения получается кривая порядка 10 с уравнением Код (Text): 2 2 8 ((5 R1 + 5 R2 - 10 R1 R2) x 3 3 2 2 7 4 + (32 R2 - 40 R1 - 112 R2 R1 + 120 R1 R2) x + (124 R1 2 2 2 3 4 2 2 - 16 R2 t + 32 R2 t R1 - 384 R2 R1 + 72 R2 + 688 R2 R1 2 2 3 6 4 3 2 - 16 t R1 - 496 R2 R1 ) x + (-512 R2 R1 + 1408 R2 R1 2 3 3 2 2 2 5 - 1696 R2 R1 - 78 R2 t + 270 R2 R1 t + 64 R2 2 2 4 5 2 3 5 - 288 R2 t R1 + 920 R2 R1 - 184 R1 + 96 t R1 ) x + ( 3 3 2 2 2 2 4 4 2 -1920 R2 R1 - 1266 R2 t R1 + 18 R2 t - 132 R2 t 4 2 2 3 3 2 4 2 + 1008 R2 R1 + 912 R2 t R1 + 708 R2 t R1 + 18 t R1 4 5 6 2 4 6 - 36 R2 t R1 - 224 R2 R1 + 128 R1 + 1760 R2 R1 + 16 R2 5 2 4 4 3 2 2 2 5 - 768 R2 R1 - 228 t R1 ) x + (-2072 R2 t R1 + 272 t R1 4 3 4 3 6 7 2 5 - 512 R2 R1 - 72 t R1 + 224 R2 R1 - 32 R1 - 608 R2 R1 5 2 4 2 2 4 4 2 - 88 R2 t + 216 R2 t R1 - 1360 R2 t R1 + 744 R2 t R1 3 4 2 4 2 2 3 5 2 + 60 R2 t - 204 R2 R1 t + 2504 R2 t R1 + 128 R2 R1 3 4 3 2 2 4 3 4 + 800 R2 R1 ) x + (-2200 R2 t R1 - 360 R1 R2 t 3 2 3 4 4 2 2 4 + 2400 R2 t R1 + 116 R1 t + 644 R1 R2 t 4 2 2 6 2 5 2 4 4 - 1256 R2 t R1 - 8 t R1 + 272 R2 t R1 + 66 R2 t 6 2 6 6 2 2 6 - 8 t R2 + 16 t R1 R2 - 16 R2 t - 160 t R1 2 5 3 4 2 5 4 3 6 + 960 R2 t R1 - 464 R1 R2 t ) x + (24 R2 t - 14 R2 t 5 2 2 2 7 4 5 6 3 - 128 R2 t R1 + 32 t R1 - 88 t R1 + 16 t R1 2 2 5 3 2 4 4 2 3 + 608 R2 t R1 - 800 R2 t R1 + 512 R2 t R1 3 4 2 4 4 4 4 + 664 R2 t R1 + 440 R2 t R1 - 232 R2 t R1 2 4 3 2 6 6 2 2 6 - 808 R2 t R1 - 224 R2 t R1 - 48 R2 t R1 + 46 R2 R1 t ) 3 4 3 8 2 4 6 5 4 x - 480 R2 t R1 + t R2 - 6 R2 t - 48 R2 t R1 8 6 3 4 4 2 6 4 - 2 t R1 R2 + 36 t R1 R2 + 248 R2 t R1 - 12 t R1 2 4 4 6 2 2 4 6 6 3 + 440 R2 t R1 - 66 t R1 R2 + 32 t R1 + 48 t R1 R2 8 2 4 5 2 8 4 6 6 + t R1 - 192 R2 t R1 ) y + t R1 - 8 t R1 2 2 10 2 2 6 + (R1 - 2 R1 R2 + R2 ) y + ((10 R1 + 10 R2 - 20 R1 R2) x 3 3 2 2 5 2 2 + (-60 R1 + 48 R2 + 180 R1 R2 - 168 R2 R1) x + (696 R2 R1 2 4 3 4 2 2 + 48 R2 t R1 + 126 R1 - 504 R2 R1 + 72 R2 - 24 t R1 3 2 2 4 2 3 5 - 384 R2 R1 - 24 R2 t ) x + (-944 R2 R1 - 104 R1 3 2 4 2 2 2 2 + 752 R2 R1 - 256 R2 R1 + 270 R2 R1 t - 288 R2 t R1 5 3 2 2 3 4 3 2 4 + 32 R2 - 78 R2 t + 96 t R1 + 520 R2 R1 ) x + (312 R2 R1 4 2 4 4 2 2 4 - 72 R2 t - 36 R2 t R1 + 96 R2 R1 - 132 t R1 2 3 3 2 5 6 + 528 R2 t R1 + 396 R2 t R1 - 144 R2 R1 + 24 R1 4 2 3 3 2 4 2 2 2 2 + 18 t R1 - 288 R2 R1 + 18 R2 t - 726 R2 t R1 ) x + ( 3 4 3 2 2 4 2 2 4 30 R2 t - 504 R2 t R1 + 108 R2 t R1 - 360 R2 t R1 4 2 2 5 5 2 2 4 + 160 R2 t R1 + 72 t R1 - 16 R2 t - 102 R2 R1 t 2 2 3 4 3 4 4 2 2 4 + 648 R2 t R1 - 36 t R1 ) x + 9 R2 t - 104 R2 t R1 3 4 3 4 3 2 3 2 2 4 - 88 R1 R2 t - 60 R1 R2 t + 96 R2 t R1 + 118 R1 R2 t 6 2 4 2 2 6 2 6 - 4 t R1 - 32 R2 t R1 - 4 t R2 + 8 t R1 R2 2 5 2 6 4 4 4 + 48 R2 t R1 - 8 t R1 + 22 R1 t ) y + ( 2 2 4 (10 R1 + 10 R2 - 20 R1 R2) x 3 3 2 2 3 4 + (32 R2 - 40 R1 - 112 R2 R1 + 120 R1 R2) x + (24 R2 4 2 2 2 3 3 + 44 R1 + 32 R2 t R1 - 16 t R1 - 176 R2 R1 - 128 R2 R1 2 2 2 2 2 2 2 2 3 + 240 R2 R1 - 16 R2 t ) x + (-96 R2 t R1 + 32 t R1 3 2 4 2 2 3 2 5 - 26 R2 t + 40 R2 R1 + 90 R2 R1 t + 32 R2 R1 - 8 R1 2 3 2 4 3 2 4 2 - 64 R2 R1 ) x + 6 R2 t + 28 R2 t R1 - 4 R2 t 2 2 2 4 2 2 3 4 - 62 R2 t R1 + 6 t R1 + 48 R2 t R1 - 12 R2 t R1 2 4 6 6 5 4 4 3 4 6 - 12 t R1 ) y + (24 t R1 - 1312 R2 t R1 + 72 R2 t R1 6 4 8 3 4 7 3 6 2 - 120 R2 t R1 - 2 t R1 - 64 t R1 - 192 R2 t R1 5 4 2 5 6 3 8 6 4 + 480 R2 t R1 - 8 R2 t + 2 R2 t - 64 R2 t R1 8 2 3 4 4 4 6 + 6 R2 t R1 + 1760 R2 t R1 + 448 R2 t R1 2 4 5 2 6 3 2 8 8 2 - 1248 R2 t R1 + 224 R2 t R1 - 6 R2 t R1) x + (t R1 3 4 3 6 3 5 2 3 - 1888 R2 t R1 + 112 t R1 R2 + 640 R2 t R1 4 4 2 4 4 2 6 2 2 + 1056 R2 t R1 - 1312 R2 R1 t - 128 R2 t R1 2 2 6 5 4 2 8 4 6 - 832 R2 t R1 - 256 R2 t R1 - 32 t R1 + 120 t R1 6 4 6 2 2 4 5 8 2 + 16 R2 t - 158 t R1 R2 - 720 R2 t R1 + t R2 4 6 3 2 5 2 4 4 6 4 - 18 R2 t + 1408 R2 t R1 + 1672 R2 t R1 - 28 t R1 6 3 2 7 8 2 + 92 t R1 R2 + 256 R2 t R1 - 2 t R1 R2) x + ( 2 2 5 6 2 3 2 4 2 7 2496 R2 t R1 - 48 R2 t R1 - 3520 R2 t R1 + 128 t R1 5 2 2 6 2 4 4 6 3 - 960 R2 t R1 + 128 R2 t R1 - 400 R2 t R1 + 16 t R1 4 4 4 2 3 2 6 + 680 R2 t R1 + 2624 R2 t R1 - 896 R2 t R1 3 4 2 3 6 2 4 3 5 4 + 1072 R2 t R1 - 14 R2 t - 1264 R2 t R1 + 48 R2 t 4 5 2 6 3 5 2 - 136 t R1 + 46 R2 R1 t ) x + (464 R2 t R1 3 2 3 2 2 4 7 4 4 + 3392 R2 t R1 - 3008 R2 t R1 - 128 R2 R1 + 57 R2 t 8 4 4 6 2 5 4 4 + 16 R1 + 94 R1 t + 8 t R1 R2 + 1296 R2 t R1 + 656 R2 R1 3 4 2 2 4 3 4 5 3 - 300 R1 R2 t + 526 R1 R2 t - 376 R1 R2 t - 320 R2 R1 4 2 2 6 2 6 2 6 2 - 1896 R2 t R1 - 4 t R2 + 64 R2 R1 - 32 R2 t 2 6 2 6 6 2 3 5 4 - 216 t R1 + 416 R2 R1 - 4 t R1 - 704 R2 R1 ) x + ( 4 2 2 4 5 2 4 3 108 R2 t R1 - 102 R2 R1 t - 72 R2 t - 36 t R1 3 2 2 2 5 2 2 3 3 4 - 1568 R2 t R1 + 200 t R1 + 1856 R2 t R1 + 1760 R2 R1 4 2 7 3 4 6 + 584 R2 t R1 - 64 R1 + 30 R2 t + 448 R2 R1 2 4 6 4 3 5 2 - 1000 R2 t R1 - 64 R2 R1 - 1312 R2 R1 + 480 R2 R1 2 5 5 2 4 6 2 6 4 - 1248 R2 R1 ) x + 416 R2 t R1 - 112 R2 t R1 3 8 3 4 5 3 6 3 4 6 2 - 4 R2 t R1 - 704 R2 t R1 + 128 R2 t R1 - 72 R2 t R1 4 4 4 6 4 2 5 6 5 4 3 + 656 R2 R1 t + 64 R2 t R1 + 16 R2 t R1 - 320 R2 t R1 8 3 4 7 6 5 2 8 2 - 4 R2 t R1 - 128 R2 t R1 + 48 R2 t R1 + 6 R2 t R1 + ( 2 2 2 (5 R1 + 5 R2 - 10 R1 R2) x 3 3 2 2 2 + (8 R2 - 10 R1 - 28 R2 R1 + 30 R1 R2) x + 8 R2 t R1 2 2 2 2 2 2 4 3 8 4 8 - 4 R2 t - 4 t R1 + 4 R2 R1 + R1 - 4 R2 R1 ) y + R2 t 2 2 2 2 3 2 4 + (-96 R2 t R1 + 90 R2 R1 t + 688 R2 R1 + 440 R2 R1 4 3 2 5 2 3 5 - 256 R2 R1 - 26 R2 t - 88 R1 + 32 t R1 + 32 R2 2 3 7 2 2 10 - 816 R2 R1 ) x + (R1 - 2 R1 R2 + R2 ) x 3 3 2 2 9 6 + (8 R2 - 10 R1 - 28 R2 R1 + 30 R1 R2) x + (16 R2 4 2 2 3 4 5 6 + 6 t R1 + 432 R2 t R1 - 12 R2 t R1 - 224 R2 R1 + 104 R1 5 4 2 2 4 2 2 2 - 624 R2 R1 - 64 R2 t - 108 t R1 - 602 R2 t R1 3 3 2 4 2 4 3 2 - 1632 R2 R1 + 6 R2 t + 1448 R2 R1 + 340 R2 t R1 4 2 6 4 8 2 2 3 + 912 R2 R1 ) x + 16 t R1 + (-4 t R1 - 164 R2 R1 2 2 2 4 2 2 3 + 8 R2 t R1 - 4 R2 t + 41 R1 + 228 R2 R1 - 128 R2 R1 4 8 + 24 R2 ) x = 0 (R1, R2, t - параметры, t - время с начала распространения волны из центра, единица времени выбирается так, чтобы скорость волны была единичной, ось x направлена по прямой, соединяющей центры окружностей). В пространстве вместо y^2 везде y^2+z^2
Сначала получил хоть какую-то параметризацию кривой: рассматриваем луч, изначально распространяющийся под углом phi от радиального направления (по которому пустим ось x), вычисляем время t0, за которое он дойдёт до отражающей сферы, точку сферы, куда он попадёт, направление, куда он пойдёт после этого, и точку, докуда он дойдёт через время t с начала распространения. Получил уравнения http://images.astronet.ru/pubd/tex/formula10879.gif . Если R1 == R2, то случай неинтересен - геометрически ясно, что волна, выходящая из центра окружности, одновременно по всей длине доходит до этой окружности и после отражения опять образует окружность (или сферу в трёхмерном пространстве). Теперь оказывается, что всё это хорошо параметризуется параметром t0 (через него выражается cos phi, а sin phi выражается через cos), и через этот параметр (x,y) выражаются рационально. Это всё делалось ручками, дальше исключение t0 более-менее стандартно - выражения x,y переписываются как два уравнения вида "многочлен от x,y,t0 равен 0", то есть, если рассматривать это как многочлены от t0, они должны иметь общий корень. Отсюда результант этих многочленов равен нулю и осталось его вычислить (это в свою очередь многочлен от коэффициентов, то есть в нашем случае многочлен от x и y). С этим может справиться комп, а точнее, система символьной алгебры, я использую Maple. Финальная формула - это копипаст из Maple
diamond Задача-то изначально была другой. Нужно изменять в заданное число раз радиус фронта волны, отразив ее от некоторой кривой. При этом нужно чтобы отраженная волна также осталось окружностью (сферой). Теперь я вот думаю, что же это за кривая должна быть. Нужно хотя бы понять что это за кривая. После этого уже можно думать как точно регулировать волны. Есть идеи?
_int2e_ Да, я уже думал о том, что тут нужна обычная парабола (параболоид). Но на бумаге вывести не удалось - слишком все сложно получается в буквенном виде. Попробую сделать прогу, посмотрим.
А разве на рис в первом посте не видно, что радиус фронта и сам по себе постоянно увеличиветеся во времени без всяких отражений? )
Эллипс, парабола, гипербола. После отражения от них волна с источником в одном фокусе превращается в волну с фронтом в виде дуги окружности с центром в другом фокусе (в случае параболы "окружность бесконечно большого радиуса" - прямая).