GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (2)След. > >>   Поиск:  
 Автор Тема: О пространстве
eto_ya
Сообщений: 1545
О пространстве
Добавлено: 20 дек 13 8:02


[Ответ][Цитата]
covax
Сообщений: 1609
На: О пространстве
Добавлено: 20 дек 13 10:52
Цитата:
Автор: eto_ya
О пространстве

Квадратная решетка не является изотропной.
Попробуйте решетку с гексагональной ячейкой.
[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 20 дек 13 12:02
Цитата:
Автор: covax
Квадратная решетка не является изотропной.
Попробуйте решетку с гексагональной ячейкой.

Хорошо, что вы про это написали! Я тоже думал о правильном шестиграннике как ячейке. Если два человека подумали об одном и том же, значит вероятно верное направление. Просто я сначала хотел понять, что можно выжать из квадратной сетки, а потом уже оценить стоит ли идти этим путем или переходить к плану "Б"
[Ответ][Цитата]
covax
Сообщений: 1609
На: О пространстве
Добавлено: 20 дек 13 20:03
Цитата:
Автор: eto_ya
Хорошо, что вы про это написали! Я тоже думал о правильном шестиграннике как ячейке. Если два человека подумали об одном и том же, значит вероятно верное направление. Просто я сначала хотел понять, что можно выжать из квадратной сетки, а потом уже оценить стоит ли идти этим путем или переходить к плану "Б"


На самом деле, из квадратной сетки можно выжать всё, что вам нужно, но изотропные свойства диссипативной структуры (похоже, вас именно это интересует) придется добывать формальными методами. Например, сверткой с Гауссовым ядром. Можете сразу копнуть в сторону Gaussian Blur или пройти долгий путь выводя гауссиан через закон диффузии.
[Ответ][Цитата]
ЭСГТР
Сообщений: 8449
На: О пространстве
Добавлено: 20 дек 13 21:30
Изменено: 21 дек 13 23:50
Цитата:
Автор: eto_ya


Хорошо, что вы про это написали! Я тоже думал о правильном шестиграннике как ячейке. Если два человека подумали об одном и том же, значит вероятно верное направление. Просто я сначала хотел понять, что можно выжать из квадратной сетки, а потом уже оценить стоит ли идти этим путем или переходить к плану "Б"
А чего о том думать... пчёлы давно уже за вас подумали...
Квадрат хорош для осуществления переходов.
Не случайно символом эмоциональной когнетивности является шестиугольник, символом эмоциональной конструктивности - квадрат, символом эмоциональной твердости - треугольник.

,
[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 21 дек 13 1:36
Цитата:
Автор: covax
На самом деле, из квадратной сетки можно выжать всё, что вам нужно, но изотропные свойства диссипативной структуры (похоже, вас именно это интересует) придется добывать формальными методами. Например, сверткой с Гауссовым ядром. Можете сразу копнуть в сторону Gaussian Blur или пройти долгий путь выводя гауссиан через закон диффузии.

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

Говоря о квадратной сетке. Пока у меня есть только одна мысль по поводу добычи "изотропных свойств формальными методами". Это использование иррационального числа ~1.414. Например, на рис.3 в одной клетке 256 ячеек, двигаем ее по диагонали, тогда количество перемещенных клеток будет равно 256–(256*~0.414)=~150, а число оставшихся клеток равно 256-~150=~106. В сумме ~150+~106=256. Но во всей этой истории с числом 1.414 для меня есть неясность. Откуда оно взялось (какова природа), как его вычислить на пальцах (вывести его). Например, для клеток объемом 256 требуется одна точность числа 1.414, а для числа 9 сойдет и меньшая точность и т.п. Получается, существует какая-то зависимость ОБЪЕМА клетки и ТОЧНОСТИ числа 1.414, при котором расчеты будут верными. Проблема, которую надо решить, это чтобы перемещение было точным, без потерь или прибавок.

[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 21 дек 13 1:37
Цитата:
Автор: ЭГТР
А чего о том думать... пчёлы давно уже за вас подумали...
Квадрат хорош для осуществления переходов. Плохо только что одним местом на двух стульях не усидишь и формальные методы вряд ли помогут... скорее волевые.

Почему я вообще заговорил о квадратной ячейке, потому, что с ними ПРИВЫЧНЕЕ (еще не значит что лучше) работать именно при программировании. Ну и еще есть совсем утилитарный аргумент, что вот, например, храню я пространственное описание объекта в формате пространства сот, а потом мне понадобиться вывести это на экран ПК. Получается, потребуется дополнительное преобразование к пространству квадратов, т.к. мониторы у нас имеют пиксели (квадратики) по x,y.

[Ответ][Цитата]
гость
78.25.120.*
На: О пространстве
Добавлено: 21 дек 13 2:22
если следовать логике автора, то более адекватным кажется допустить распределение
микроквадратиков болльшого квадратика при его диагональном перемещении по всем
четырем квадрантам ради сохранения его формы (если допускается рассмотрение распределение микроквадратиков не в одном квадранте).

Тогда условие изотропности должно обеспечиваться простым соображением об одинаковости
перемещения ЦЕНТРА ТЯЖЕСТИ при вертикальном/горизонтальном перемещении и при диагональном. Из элементарных расчетов можно получить пропорцию распределения микро-
квадратиков по квадрантам (22,2*53,128).
[Ответ][Цитата]
covax
Сообщений: 1609
На: О пространстве
Добавлено: 21 дек 13 2:26
Цитата:
Автор: eto_ya
Но во всей этой истории с числом 1.414 для меня есть неясность. Откуда оно взялось (какова природа), как его вычислить на пальцах (вывести его).


1,414213562 = sqrt(2) = 2^(1/2) т.е корень квадратный из двух

Это длина диагонали у квадратной ячейки со стороной = 1. Выводится по теореме Пифагора как a^2 + b^2 = c^2 , которая выступает в качестве критерия изотропности. Далее, при условии что a = b = 1, формула сведётся к с^2 = 2.
Отсюда с = sqrt(2).

Цитата:
Автор: eto_ya
Например, для клеток объемом 256 требуется одна точность числа 1.414, а для числа 9 сойдет и меньшая точность и т.п. Получается, существует какая-то зависимость ОБЪЕМА клетки и ТОЧНОСТИ числа 1.414, при котором расчеты будут верными. Проблема, которую надо решить, это чтобы перемещение было точным, без потерь или прибавок.


Сделайте перемещаемую "массу" равной 1024, 65536 и тд. Фракция будет меньше, значит точность будет выше.

Вы бы лучше объяснили, для чего вам это всё нужно в конечном итоге?
[Ответ][Цитата]
гость
78.25.120.*
На: О пространстве
Добавлено: 21 дек 13 5:57
хотя кажется более логичным нормировать вертикальные/горизонтальные перемещения
по диагональным, принимаемыми за единичные. перемещение по вертикали/горизонтали
на 1.414 единицу задать проще. Если та клетка, в которую должна перелиться часть
микроквадратиков не пуста, то перелив транслируется дальше с соотв. пересчетом
числа тех микроквадратиков, которые совершают дальнюю миграцию, чтобы перемещение
центра тяжести оставалось нормированым. Можно задать и более осмысленную 'физику'.
[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 21 дек 13 6:14
Цитата:
Автор: гость
если следовать логике автора, то более адекватным кажется допустить распределение
микроквадратиков болльшого квадратика при его диагональном перемещении по всем
четырем квадрантам ради сохранения его формы (если допускается рассмотрение распределение микроквадратиков не в одном квадранте).

Тогда условие изотропности должно обеспечиваться простым соображением об одинаковости
перемещения ЦЕНТРА ТЯЖЕСТИ при вертикальном/горизонтальном перемещении и при диагональном. Из элементарных расчетов можно получить пропорцию распределения микро-
квадратиков по квадрантам (22,2*53,128).

По-вашему ответу ясно, что вы глубоко вникли в проблематику данной задачи! Это здорово Добавил вариант (рис.4), в котором перемещение по диагонали затрагивает соседние клетки. Сохранение формы красного объекта, на мой взгляд, никак не связано с сохранением формы его микроквадратиков! Наглядно объяснить это можно на примере. Допустим, имеем большой квадрат, который полностью заполнен красными микроквадратиками, тогда для НАБЛЮДАТЕЛЯ большой квадрат будет сплошного красного цвета с непрозрачностью 100%. А если большой квадрат заполнен всего на 64 микроквадратика, то непрозрачность для наблюдателя будет 25% и т.д. по аналогии. Если 0 то и 0%. При этом наблюдатель этого пространства не будет видеть микроквадратиков, а большая ячейка для него будет одним сплошным квадратом определенного цвета с определенным процентом непрозрачности (рис.4.1).

Могли бы вы пояснить, в подробностях, как были получены значения (22,2*53,128). И что вы имели в виду под центром тяжести (наверно это актуально, при условии необходимости сохранения формы самих микроквадратиков).

Честно говоря, пока я еще не определился какой же вариант перетекания более правильный геометрически. Озвученный вами вариант с соседними клетками вроде бы выглядит правильно, т.к. в одной из этих соседних клеток может находится какой-то другой объект, который может быть ПРЕПЯТСТВИЕМ движения красного объекта.

[Ответ][Цитата]
гость
46.159.243.*
На: О пространстве
Добавлено: 21 дек 13 8:18
***Как рассчитать сколько ячеек должно переместиться.
Движение по диагонали это последовательное перемещение на ячейку вверх или вниз и на ячейку влево или право, так как у тебя всего два измерения.
Квадрат разделённый на четыре части не нужно явно делить, можно разделить его условно, абстрагировав границы и двигать все ячейки как в одном квадрате.
Перемещение ячеек выступающих за край квадрата, следует перемещать в противоположный край. Как определить выступ - у тебя квадрат является системой координат, следовательно превышение значения координаты ячейки максимального значения одной из координат системы координат и будет выступом за край.
На рисунке 4.1 изображено не перетекание ячеек, а смещение цвета. Тут спасёт применение формулы к каждой ячейке в зависимости от ориентации - прибавил каждой ячейке в одном квадрате, отними от остальных, соседних по X и Y по 50%, а от противоположной по диагонали - ещё 25%. Это будет правильно по отношению к 4-м квадратам, а не 256*4(считать западло) ячейкам.
И ещё. Правильно ставь задачу, так как значение 0-256 это значение интенсивности цвета, а не количество размываемых пикселей в квадрате.
[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 21 дек 13 11:07
Цитата:
Автор: covax
1,414213562 = sqrt(2) = 2^(1/2) т.е корень квадратный из двух

Это длина диагонали у квадратной ячейки со стороной = 1. Выводится по теореме Пифагора как a^2 + b^2 = c^2 , которая выступает в качестве критерия изотропности. Далее, при условии что a = b = 1, формула сведётся к с^2 = 2.
Отсюда с = sqrt(2).

Вроде понятно, но при этом не совсем. Странное иррациональное ощущение возникает 1,4142... * 1,4142... = 2. То есть соотношение a^2 + b^2 = c^2 для прямоугольного треугольника было экспериментально (типа взяли и измерили) выявлено людьми, путем поиска разных закономерностей в разных геометрических фигурах, при этом само это соотношение установлено в самом пространстве как геометрическое свойство пространства, а умом можно только констатировать факт существования этого соотношения.
Цитата:
Автор: covax
Сделайте перемещаемую "массу" равной 1024, 65536 и тд. Фракция будет меньше, значит точность будет выше.

Вы бы лучше объяснили, для чего вам это всё нужно в конечном итоге?

Вообще изначально я хотел хоть как-то реализовать пространство (геометрическое) и перемещение в нем объектов. Можете считать, что это задача на создание простейшего виртуального мира, в котором должно быть для начала несколько объектов (существо, еда, земля, солнце, хищник, стена). Объекты должны существовать и совершать действия в этом пространстве, при этом, чтобы в одной микроточке пространства не могло одновременно находиться два, условно твердых, объекта. Как только начал пробовать, сразу всплыли вопросы:
1) о выборе формы ячейки (квадрат, шестигранник, треугольник, круг), которой можно с максимально плотностью замостить геометрическое пространство, а также сама ячейка могла делиться на ячейки той же формы, только меньших размеров
2) о геометрически правильном перемещении в квадратной сетке (остальные я пока даже не прикидывал).

[Ответ][Цитата]
eto_ya
Сообщений: 1545
На: О пространстве
Добавлено: 21 дек 13 14:16
Цитата:
Автор: гость
***Как рассчитать сколько ячеек должно переместиться.
Движение по диагонали это последовательное перемещение на ячейку вверх или вниз и на ячейку влево или право, так как у тебя всего два измерения.

Измерений два (если считать число координат, то это x,y), но тогда движение по диагонали вверх-вправо должно включать в себя и движение по прямой вверх+вправо и одновременно вправо-вверх? Вообще тут поднят еще один аспект - о степенях свободы (вариантах направлений) движения.

Цитата:
Автор: гость
Квадрат разделённый на четыре части не нужно явно делить, можно разделить его условно, абстрагировав границы и двигать все ячейки как в одном квадрате.
Перемещение ячеек выступающих за край квадрата, следует перемещать в противоположный край. Как определить выступ - у тебя квадрат является системой координат, следовательно превышение значения координаты ячейки максимального значения одной из координат системы координат и будет выступом за край.

Вот это, к сожалению, так и не смог себе визуально представить...

Цитата:
Автор: гость
На рисунке 4.1 изображено не перетекание ячеек, а смещение цвета. Тут спасёт применение формулы к каждой ячейке в зависимости от ориентации - прибавил каждой ячейке в одном квадрате, отними от остальных, соседних по X и Y по 50%, а от противоположной по диагонали - ещё 25%. Это будет правильно по отношению к 4-м квадратам, а не 256*4(считать западло) ячейкам.
И ещё. Правильно ставь задачу, так как значение 0-256 это значение интенсивности цвета, а не количество размываемых пикселей в квадрате.

Если бы я мог вот так вот взять и правильно поставить задачу... На днях подумаю куда дальше идти.
[Ответ][Цитата]
kondrat
Сообщений: 4026
На: О пространстве
Добавлено: 21 дек 13 22:06
Рисунок 4 сильно ненагляден. Лучше бы изобразили квадрат, смещенный в это решетке по диагонали или на любой другой угол.
[Ответ][Цитата]
 Стр.1 (2): [1]  2След. > >>