Обновить
4K+
5

Пользователь

9
Рейтинг
Отправить сообщение

SmoothLife симулирует жизнь: ~7 подобранных констант, нелокальность по диску (свёртка), сохранения нет, и по смыслу это про «жизнь/смерть» (хотя состояние непрерывное, как и у меня).

Моя поделка — классическая нелинейная теория поля, коих вагон , (без квантовых постулатов, стараюсь избавляться от любых сущностей, кроме энергии нет ничего), безразмерных подгоночных констант ноль (есть масштаб, но он = выбор единиц), строгая локальность (только соседи), и одно-единственное правило — скорость перетока c = 1/E. Смысл не «как поделиться или убить», а куда и с какой скоростью перетечёт энергия (она сохраняется, не создаётся). Схожесть картинки — возможно, да; механизм — как бы совсем не тот.

Да граничные условия есть, если вы о стенке. Оттока через внешние грани нет, но волны гасить приходится, иначе не получаются условия близкие а реальным. Без гашения волн - отражёнка, и прочее, не дают устаканится энергии. Делаю небольшой пограничный слой, с гашением. Дельта энергии из за губки есть, но она в приделах ~0.001%. Если говорить о перетоке между ячейками то там всё строго, сколько вылили столько влили.

На счёт энергии суммарной, хмм, у меня скалярная сумма и есть сумма энергии системы, энергии в 0 не бывает, формула не даёт и не логично это.

Да, нелинейность есть, ку да же без неё, растеклось бы. Скаляр энергии E(x,t) на сетке - правило: энергия перетекает к соседям, но скорость перетока зависит от самого поля: c = 1/E (чем плотнее, тем медленнее) . Пробовал варианты с гидро и волной, самое интересное что результат почти тождественен.  гидро: давление P = −scale²/E сейчас scale держу =1(от масштаба, на уровне бризеров 1000);  волновая: ∂²ₜE = ∇·(c²∇E), c = 1/(1+E). пробовал и так c = 2/(1+e^E), но введение экспоненты меня смущает, хотя сверху (на высоких энергиях работает лучше) и для клампа - энергия масса отрабатывает, а снизу картина почти не меняется. Тут как раз ещё помогает дискретность клетки которая даёт минимальную длину волны и дисперсия работает не линейно.

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

Состояния выходят из формулы модели C=1/E поэтому они непрерывны, и немного отличаются от клеточного автомата, там живут волны и всё вместе с ними.

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

Информация

В рейтинге
896-й
Зарегистрирован
Активность