2014 dxdy logo

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

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




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


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

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

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

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


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


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

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


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

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

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


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

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

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


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

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


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

Изображение

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


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

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

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


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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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