Странные аттракторы | Шашанк Томар

Несколько месяцев назад, играя с , я наткнулся на кое-что, что полностью разрушило мои планы. Странные аттракторы — причудливая математика, создающая красивые узоры. Сначала я думал, что просто отрендерю один и пойду дальше, но вскоре понял, что это слишком весело. Когда сложность возникает из трех простых уравнений, когда вы видите, как что-то хаотичное превращается в прекрасное, трудно не потерять время. Я провел бесчисленное количество часов, возможно, больше, чем мне хотелось бы признать, наблюдая за формированием этих закономерностей. Я понял, что есть что-то глубокое удовлетворение в том, что порядок возникает из случайности. Позвольте мне показать вам, что меня зацепило.

Основы: динамические системы и теория хаоса

Динамические системы — это математический способ понять, как все происходит. меняться со временем. Представьте, что у вас есть система, которая может быть чем угодно: от движения планет до роста населения. В этой системе существуют правила, определяющие, как она развивается от одного момента к другому. Эти правила говорят вам, что произойдет дальше, исходя из того, что происходит сейчас. Некоторые примеры: маятник, погодные условия, стая птиц, распространение вируса среди населения (мы все слишком хорошо знакомы с этим) и фондовый рынок.

Об этой системе следует понимать две основные вещи:

  • Фазовое пространство: Это похоже на большую коллекцию всех возможных состояний, в которых может находиться система. Каждое состояние похоже на снимок системы в определенное время. Это еще называют государственное пространство или мировое государство.
  • Динамика: Это правила, которые принимают одно состояние системы и переводят его в следующее состояние. Его можно представить как функцию, преобразующую систему от настоящего момента к будущему.

Рисунок 1 – Фазовое пространство в динамических системах

Например, при изучении роста населения фазовое пространство (состояние мира) может состоять из текущей численности населения и темпов роста или сокращения в определенный момент времени. Затем динамика будет получена на основе моделей динамики населения, которые, учитывая такие факторы, как уровень рождаемости, уровень смертности и пропускная способность окружающей среды, диктуют изменения численности населения с течением времени.

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

Теория Хаоса

Существуют разные способы классификации динамических систем, и одним из наиболее интересных является классификация на хаотические и нехаотические системы. Изменения во времени в нехаотических системах более детерминированы по сравнению с хаотическими системами, которые демонстрируют случайность и непредсказуемость.

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

Read more:  Главные новости образовательной и культурной деятельности Мусульманского университета имени Макарзаула Алама Виданша Алигарха

Теория хаоса имеет дело с системами, которые демонстрируют нерегулярное и непредсказуемое поведение с течением времени, даже если они следуют детерминированным правилам. Наличие набора правил, которые управляют системой, но при этом демонстрируют случайность и непредсказуемость, может показаться немного противоречивым, но это потому, что правила не всегда отражают всю систему. Фактически, в большинстве случаев эти правила являются аппроксимацией системы, и именно это приводит к непредсказуемости. В сложных системах нам не хватает информации, чтобы разработать идеальный набор правил. А используя неполную информацию для прогнозирования, мы вносим неопределенность, которая со временем усиливается, что приводит к хаотическому поведению.

Рисунок 2. Непредсказуемость в теории хаоса

Хаотические системы обычно имеют множество нелинейно взаимодействующих компонентов, которые мы частично понимаем (или можем частично наблюдать) и которые очень чувствительны к небольшим изменениям. Небольшое изменение начальных условий может привести к совершенно другому результату — феномену, известному как эффект бабочки. В этом посте мы попытаемся увидеть эффект бабочки в действии, но перед этим давайте поговорим о Странные аттракторы.

Странные аттракторы

Чтобы понять странные аттракторы, давайте сначала разберемся, что такое аттрактор. Как обсуждалось ранее, динамические системы – это меняться со временем. Во время этого изменения система проходит через различные возможные состояния (помните жаргон фазового пространства?). Аттрактор — это набор состояний, к которым система стремится прийти с течением времени, или, можно сказать, к которым она стремится. привлеченный. Это как магнит, который притягивает к себе систему.

Например, представьте себе маятник. Когда вы отпускаете его, он раскачивается вперед и назад, но в конце концов останавливается внизу. В данном случае аттрактором является дно. Это состояние, к которому притягивается маятник.

Это происходит из-за внутренней динамики системы, которая определяет, как изменяются состояния в фазовом пространстве. Вот некоторые из причин, по которым различные государства привлекают аттракторы:

  • Стабильность: Аттракторы — это стабильные состояния системы, а это означает, что, достигнув их, система имеет тенденцию там оставаться. Эта стабильность возникает из-за динамики системы, которая подталкивает ее к аттрактору и удерживает там.
  • Рассеяние: Многие динамические системы обладают диссипативными силами, которые заставляют систему со временем терять энергию. Эта потеря энергии приводит к тому, что система переходит в состояние с более низкой энергией, которое часто соответствует аттрактору. Именно это и происходит в случае маятника.
  • Сокращение: В некоторых областях фазового пространства динамика системы приводит к сближению траекторий. Этот эффект сжатия означает, что соседние состояния со временем будут стремиться сближаться, в конечном итоге притягиваясь к аттрактору.

Рисунок 3 – Состояние аттрактора в простом маятнике

Некоторые аттракторы имеют сложные управляющие уравнения, которые могут создавать непредсказуемые траектории или поведение. Эти нелинейные взаимодействия могут привести к появлению множества стабильных состояний или периодических орбит, в направлении которых система развивается. Эти сложные аттракторы классифицируются как странные аттракторы. Их называют «странными» из-за их уникальных характеристик.

  1. Фрактальная структура: Странные аттракторы часто имеют фрактальную структуру, то есть отображают сложные узоры, повторяющиеся в разных масштабах. Эта сложность отличает их от более простых и обычных аттракторов.
  2. Чувствительная зависимость от начальных условий: Системы со странными аттракторами очень чувствительны к своим начальным условиям. Небольшие изменения в отправной точке могут привести к совершенно иному долгосрочному поведению — феномену, известному как «эффект бабочки».
  3. Непредсказуемые траектории: Траектории странного аттрактора никогда не повторяются, демонстрируя непериодическое движение. Поведение системы кажется случайным и непредсказуемым, хотя оно регулируется детерминированными правилами.
  4. Возникающий порядок из хаоса: Несмотря на свою хаотичную природу, странные аттракторы демонстрируют определенную форму порядка. Паттерны и структуры возникают из, казалось бы, случайного поведения, раскрывая сложную динамику происходящего.
Read more:  Еженедельные сводки новостей о туристических технологиях на PhocusWire: Travalyst, Google, Guesty и другие...

Большую часть этих характеристик вы можете наблюдать при визуализации. Самое интересное наблюдать – это эффект бабочки.

Эффект бабочки

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

Рисунок 3. Упрощение эффекта буфера

В нашей визуализации давайте понаблюдаем за этим поведением Аттрактора Томаса. Это определяется следующими уравнениями:

Уравнение аттрактора Томаса

3

dx = (-a*x + sin(y)) * dt;

4

dy = (-a*y + sin(z)) * dt;

5

dz = (-a*z + sin(x)) * dt;

Небольшое изменение параметра a может привести к совершенно разным траекториям частиц и общей форме аттрактора. Измените это значение в панели управления и наблюдайте эффект бабочки в действии.

В этой визуализации есть еще один способ наблюдать эффект бабочки. Измените Initial State от cube к
sphere surface в панели управления и понаблюдайте, как частицы движутся по-разному в двух случаях. Частицы в конечном итоге притягиваются к одним и тем же состояниям, но имеют разные траектории.

Детали реализации

Эта визуализация требовала рендеринга большого количества частиц с помощью Three.js. Чтобы добиться этого эффективно, мы использовали технику под названием рендеринг пинг-понга . Этот метод обрабатывает итеративные обновления систем частиц непосредственно на графическом процессоре, сводя к минимуму передачу данных между процессором и графическим процессором. Он использует два объекта буфера кадра (FBO), которые чередуют роли: один сохраняет текущее состояние частиц и отображает их на экране, а другой вычисляет следующее состояние.

Рабочий процесс реализации

  1. Настройка объектов кадрового буфера (FBO): Начнем с создания двух FBO, ping и pongчтобы удерживать текущее и следующее состояние частиц. Эти буферы хранят такие данные, как положения частиц в каналах RGBA, что позволяет эффективно использовать ресурсы графического процессора.

    машинопись

    1

    const ping = new THREE.WebGLRenderTarget(size, size, {

    2

    minFilter: THREE.NearestFilter,

    3

    magFilter: THREE.NearestFilter,

    4

    format: THREE.RGBAFormat,

    9

    const pong = new THREE.WebGLRenderTarget(size, size, {

    10

    minFilter: THREE.NearestFilter,

    11

    magFilter: THREE.NearestFilter,

    12

    format: THREE.RGBAFormat,

    14

    type: THREE.FloatType,
  2. Шейдерные программы для динамики частиц: Шейдерные программы выполняются на графическом процессоре и применяют динамику аттрактора к каждой частице. Ниже приведена функция аттрактора, которая обновляет положения частиц на основе уравнения аттрактора.

    глсл

    1

    vec3 attractor(vec3 pos) {

    3

    float x = pos.x, y = pos.y, z = pos.z;

    7

    dx = (-a*x + sin(y)) * dt;

    8

    dy = (-a*y + sin(z)) * dt;

    9

    dz = (-a*z + sin(x)) * dt;

    10

    return vec3(dx, dy, dz);
  3. Рендеринг и замена буфера: В каждом кадре шейдер вычисляет новые позиции на основе уравнений аттрактора и сохраняет их в неактивном буфере. После обновления роли FBO меняются местами: ранее неактивный буфер становится активным, и наоборот.

    машинопись

    1

    const currentTarget = flip ? ping : pong;

    2

    const nextTarget = flip ? pong : ping;

    5

    uniforms.positions.value = currentTarget.texture;

    8

    gl.setRenderTarget(nextTarget);

    10

    gl.render(scene, camera);

    11

    gl.setRenderTarget(null);

Такое сочетание эффективных вычислений шейдеров и техники пинг-понга позволяет нам визуализировать систему частиц.

Если у вас есть какие-либо комментарии, пожалуйста, оставьте их. Рано или поздно я интегрирую это с блогом.

2025-10-31 23:23:00


1761956753
#Странные #аттракторы #Шашанк #Томар

По теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.