2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Метод подвижных клеточных автоматов
Сообщение10.02.2019, 12:52 


25/10/17
61
Здравствуйте участники! Играюсь с методом подвижных клеточных автоматов.
Пытаюсь запрограммировать. С обычными клеточными автоматами вроде всё ясно - задаём массив, задаём начальное состояние массива (начальные условия), тактируем. На каждом такте ячейка массива смотрит, что в соседних ячейках и перезаписывает своё значение по формуле Yнов[i] = F(Yстар[i] ; Yстар[i+1] ; Yстар[i-1]). Пробегаем таким образом по всем ячейкам и переходим к следующему такту.

А вот как сделать так, чтобы ячейки "двигалась"? Вижу два варианта: 1) Массив неподвижен, а все ячейки перезаписываются в рядом стоящие (создаётся иллюзия движения).
2) Сделать подвижную сетку что ли?

Кто-нибудь ими занимался? Подскажите какие-нибудь книжки ))

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение10.02.2019, 15:00 


10/03/16
4444
Aeroport
Kubrikov в сообщении #1375117 писал(а):
А вот как сделать так, чтобы ячейки "двигалась"?


Клетка неподвижного автомата это объект, имеющий поля состояние и координаты. Клетка подвижного автомата имеет параметры: состояние(int) координаты(double) массив указателей на связанные с ней клетки (unsigned int). То есть в каждый момент времени имеем матрицу связности, где на месте (i,j) стоит единица, если клетка i сейчас «общается» с клеткой j. В случае неподвижного автомата этот граф связности стационарен и в каждой строке и столбе его ровно 8 единиц (почему?)

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение11.02.2019, 23:58 


25/10/17
61
Спасибо большое! Получается задавать массив не нужно, координат клеток достаточно.
А как клетка "связывается" с другой клеткой, как это технически сделать? Задается длина (радиус-вектор) между клетками, если длина выше некоторой, то связь разрывается (обнуляется), а если клетки приближаются друг к другу слишком близко, то связь возникает. Как-то так?

8 единиц наверное в случае "квадратного" поля - три клетки сверху, три снизу, и две по бокам. А как быть, если я хочу, чтобы автомат двигался не только вправо-влево-вверх-вниз- и на 45° по диагоналям, но и в любую сторону? Моделирую течение жидкого металла.

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение12.02.2019, 00:25 
Заслуженный участник
Аватара пользователя


01/09/13
4743
Kubrikov в сообщении #1375442 писал(а):
я хочу, чтобы автомат двигался

Вообще говоря, автомат это всё поле...

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение12.02.2019, 00:37 


25/10/17
61
Так вот как задать это поле? Начальным расположением клеток?

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение12.02.2019, 10:17 


28/07/17

317
Я использовал таблицу с большим количеством клеток - получилась сетка. Как заставить ячейку двигаться - странный вопрос. Очевидно стереть в текущем положении и нарисовать в соседнем. По сигналу таймера, что-бы не двигалась слишком быстро.

Изображение

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение12.02.2019, 17:56 


27/08/16
11084
Kubrikov в сообщении #1375117 писал(а):
Играюсь с методом подвижных клеточных автоматов.

Подразумевается это? https://ru.wikipedia.org/wiki/%D0%9C%D0 ... 0%BE%D0%B2

 Профиль  
                  
 
 Re: Метод подвижных клеточных автоматов
Сообщение12.02.2019, 19:54 


25/10/17
61
Ага, они самые.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: granit201z


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

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