Suslik
> мне кажется, что на форуме никого кроме тебя и дельфигеймера нет, кто мог бы такие идеи проверить и чисто теоретически получить результат, который никто не получал раньше. ну или хотя бы получить опыт и левелап своей интуции.
Где бы еще время найти на все интересные задачки...
Но я тут подумал и походу мультигрид не сработает: там будет аналогично задаче на собственные векторы, с неположительно определенной матрицей, с которой итерационные методы, в принципе, не работают. Такие задачи, как раз, методом установления решают. Так что, FFT, действительно, шаг вперед.
}:+()___ [Smile]
> Где бы еще время найти на все интересные задачки...
а чем вообще важно заниматься в жизни, если не интересными задачами?
кстати, чтобы выработать интуицию, обратите внимание, как выглядит случай, когда по сути решение одной половины системы нарушает вторую половину:
здесь сначала решается нижняя преграда, потом решается верхняя, но решение верхней частично перекрывает решение нижней. если решать несколько итераций, то такой случай, конечно, разрешается, но интересен сам факт того, что в геомеорической оптике нет аналога процесса, который бы сходился к правильному решению таким образом. возможно, стенсильные тени имеют похожие свойства, но стенсильные тени работают для отдельных источников, а здесь действуют все на всех.
Suslik
>это лишь средство того, как оптику свести к свёртке. но это возможно!
Конечно возможно, потому что оптика, это обёртка над обычной механикой наподобие удара кувалдой по гвоздю, а значит можно сделать и другую обёртку для частных случаев. Если вкурить вопрос, то можно поискать решение через газо и гидродинамики, потому что они точно такие же обёртки над механикой частиц газа, а свет в газе передаётся, потому фотоны и производят волны. Оттуда можно вывести хоть хоть электричество, хоть оптику, хоть гравитацию, но цепочка формул может быть мозголомной.
>в геомеорической оптике нет аналога процесса, который бы сходился к правильному решению таким образом
Набор костылей нам поможет! Для игр. Нужно лишь чтобы движок был написан на удобном языке и легко компилировался.
Suslik
> я вместо конкретно уравнений максвелла считаю уравнения по типу акустики
> монохромного акустического сигнала (то есть фиксированной частоты)
А почему на уравнения Максвелла? Считать сложнее? Зато с ними бы были честные эффекты для разных частот - можно было бы создавать белый источник света и он раскладывался бы в радугу при преломлении.
Видео с массивом "пружинок" прикольное конечно.
Он там упоминает, что полное поглощение приходится делать через малые отъёмы энергии и то не полностью отражение подавляется.
Подозреваю что речь про стенку из пружинок каждый следующий слой которых обладает чуть большей массой?
Интересно как в динамике выглядит.
Тема конечно интересная, но на уровень Суслика тут реально пара еще человек с форума может выйти чтобы понять что и как он там считает. :)
Panzerschrek[CN]
> А почему на уравнения Максвелла? Считать сложнее? Зато с ними бы были честные эффекты для разных частот - можно было бы создавать белый источник света и он раскладывался бы в радугу при преломлении.
даже уравнение гельмгольца (монохроматичские волны давления) мне лично прочувствовать — вовсе не тривиально. следующий шаг после гельмголца — уравнение акустики, это если добавить к уравнению гельмгольца весь спектр частот. следущий шаг после уравнений акустики — волновое уравнение, это если вместо давления считать смещение, то есть плюс поляризация волн. следующий шаг после волнового уравнения — полная электродинамика. то есть ты предлагаешь не через один шаг перейти, а через 3. это пока далеко за гранью моей квалификации.
=A=L=X=
> Он там упоминает, что полное поглощение приходится делать через малые отъёмы
> энергии и то не полностью отражение подавляется.
это нубский способ. выше смайл описал, как ставится нормальное неотражающее условие для такой формулировки, но это на уровень выше того что автор видео описывает.
> Подозреваю что речь про стенку из пружинок каждый следующий слой которых обладает чуть большей массой?
неа. от стенки с бесконечной массой наоборот волны отражаются максимально эффективно. кстати, от стенки с нулевой массой волны тоже отражаются очень легко (представь акустические волны, которые отражаются от поверхности воды). неотражающие условия не имеют простого механического аналога с осцилляторами. можно попробовать представить их как маленьких гномиков на границе, каждый из которых дёргает пружинку строго в противофазе, чтобы максимально эффективно гасит колебания, но эта аналогия ничего не говорит, как именно каждый гномик решает, когда и как дёргать пружинки.
Suslik
> неа. от стенки с бесконечной массой наоборот волны отражаются максимально
> эффективно.
Ой, я прогнал. Речь не про массу должна была быть, а про трение.
Т.е. да, когда в начале видео мы видим еще струну у которой концы просто зафиксированы и не обсчитываются, то это приводит просто к полным отражениям. Это было сразу понятно.
Соответственно всё просто - энергия при фиксации концов просто никуда не может потеряться и можно сказать что единственный выход для неё - это полностью отразится.
Тогда по моему разумению нам нужно устроить в этой схеме явную потерю энергии, этого можно добиться явным коэффициентом трения - ввести в некоторые пружинки коэффициент поглощения энергии, просто искусственно добавив силу трения тянущую всегда груз к нулевому положению.
Однако нетрудно опять таки понять, что если сила трения бесконечна мы в первом же "гасящем слое" получим ситуацию неотличимую от зафиксиронного груза или бесконечной массы - т.е. произойдёт полное отражение как и выше.
Нам надо получается, чтобы волна всё-таки вошла в слой тормозящих пружинок и начала там рассеиваться.
Т.е. мне изначально надо было сказать, что надо сделать толстый слой пружинок с трением и чем меньше коэффициент трения и толще слой, тем лучше видимо это должно имитировать полное поглощение без переотражений. Как то так. И видимо про это автор видео и говорит "нужно отнимать энергию малыми порциями".
=A=L=X=
> Однако нетрудно опять таки понять, что если сила трения бесконечна мы в первом же "гасящем слое"
именно поэтому через трение неотражающие условия можно приближать, но невозможно сделать тру-неотражающие.
> "гасящем слое"
к теме это уже мало отношения имеет, но если почитать литературу по этой теме, то люди какими только извращениями вроде такого не занимаются, когда нельзя сделать по-нормальному (через характеристики). вот именно так и делают: вводят слой конечной толщины и что-то там в нём вычитают. разумеется, это фейк и всё равно будет отражать. через характеристики достаточно иметь слой толщиной в одну ноду и он будет поглощать все "простые" волны.
Suslik
> разумеется, это фейк
А может наоборот, в этом есть изрядная доля реальности? Идеальное чёрное тело - дырка.
P.S.
Еще пришло в голову - можно ли на "пружинках" сделать симуляцию поглощения определённой части спектра? Т.е. такую конфигурацию пружинок с трением или чем которая хорошо поглощает на одной частоте, а на других пропускает волны или отражает. Хм...
=A=L=X=
> можно ли на "пружинках" сделать симуляцию поглощения определённой части
> спектра? Т.е. такую конфигурацию пружинок с трением или чем которая хорошо
> поглощает на одной частоте, а на других пропускает волны или отражает
Фотон поглощается или отражается с определённой вероятностью, но его частота (энергия) не меняется при отражении. А на пружинках с трением ты получишь постепенное покраснение.
THE_MASTER
> Суслик, твоя проблема в том, что ты не умеешь изъясеятся простым языком
плюсую. парень бузусловно талантливый, но в тексте просто каша.
Suslik
Ты хочешь решать задачу теней из геометрической оптики, но при этом полез в еще более сложную волновую теорию только лишь потому что там линейные уравнения?
По-моему так себе помощь. Мои наблюдения говорят что в основе, как не крути, лежит дискретная математика. Задача о тенях - неизбежно приведет к графам, заливкам, поискам путей. Эти графы могут иметь некоторые свойства (планарность, лимит связей,..) - и в этом и будет специфика работы с 3д пространством. А копание в уравнения мат физики для решения распространения луча, затененй - тупиковый вариант.
Mikle
> А на пружинках с трением ты получишь постепенное покраснение.
Ну эта модель явно не идеальная и какие то погрешности вполне нормально если будут.
Но сам принцип, что надо еще сильно постараться чтобы энергию из волны отнять мне нравится.
Ведь реально так и происходит - атомы поглощают на определённых частотах сообразно своей конфигурации электронных полей и тому подобное.
Поэтому, имхо, интересная задачка, как на пружинках хренакс - и вычесть волну если она укладывается в строго определенный период так чтобы это происходило само собой из-за простейших свойств пружинок типа трения.
slepov
> А копание в уравнения мат физики для решения распространения луча, затененй -
> тупиковый вариант.
С нетупиковыми он более чем знаком и умеет в них, но они неудобные костыли с некорректными решениями.
Пускай копает, вдруг что действительно гениальное выкопает.
slepov
> в тексте просто каша
все, кто хотя бы гипотетически может мне чем-то помочь, всё прекрасно поняли. объяснять физику всем остальным у меня нет никакого желания.
Mikle
> Фотон поглощается
в акустике нет фотонов.
=A=L=X=
> Еще пришло в голову - можно ли на "пружинках" сделать симуляцию поглощения
> определённой части спектра? Т.е. такую конфигурацию пружинок с трением или чем
> которая хорошо поглощает на одной частоте, а на других пропускает волны или
> отражает. Хм...
собственно, я примерно про это в нульпосте и рассказываю, только поглощение энергии происходит не трением, а специальными парами противоположных пружинок (диполями), которые раскладываются вдоль поглощающих поверхностей и для которых можно вычислить фазу осцилляции таким образом, что они идеально деструктивно интерферируют с полем в поглощённой области, обнуляя его, и не затрагивают поле больше нигде.
вот поле без окклюдера:
вот поле, которое формируется наведёнными диполями на поверхности окклюдера:
обрати внимание, что это поле оказывается ненулевым ровно в области "тени". причём оно по величине равно полю источника освещения, но противоположно по фазе. волшебство диполей заключается в том, что они могут формировать вот такое одностороннее поле, хотя по сути являются парой близко расположенных точечных источников.
если эти два поля сложить, получается тень:
то есть поглощение осуществляется вовсе не трением, а деструктивной интерференцией
вот тут я на примере суммы двух симметричных синусоид (красная, зелёна) показываю, как они дают ровно ноль в одной стороне и ровно синусоиду с другой (синий график): https://www.desmos.com/calculator/eqqwwy3bzy
для диполей параметр d стремится к нулю. t — время, можешь потаскать, чтобы волны бегали. но в случае уравнения гельмгольца стационарное решение просто бегает по кругу и ничего интересного не происходит, поэтому время вырожденное.
Suslik
Насколько я понимаю ты как бы сразу контр-волны на этих диполях запрограммировал как данность.
А мне бы хотелось чтобы симуляция сама их породила исходя из базовых свойств пружинок органически.