2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 12:08 


21/11/14
12
Здравствуйте. У меня есть поле, описывающее пространственное распределение времени наступления некоторого события (скажем, относящегося к СМИ). Могу ли я построить по этому полю векторное поле скоростей распространения информации?

Исходное скалярное поле (в формате GeoTIFF):
Изображение

Векторное поле, которое у меня получилось. Чувствую, что вышло что-то не то: построены были градиенты времени, а не скоростей. Выполнима ли в принципе задача, которую я пытаюсь решить?
Изображение

Код, который я использовал:
Код:
import gdal
from gdalconst import *
import numpy
import pylab

dataset = gdal.Open("raster.tif", GA_ReadOnly)
_ar = dataset.ReadAsArray()

#Making the dataset little bit sparser...
nth=4
ar = _ar[::nth, ::nth]
X = numpy.arange(0, _ar.shape[0], nth)
Y = numpy.arange(0, _ar.shape[0], nth)
x, y = numpy.gradient(ar)

pylab.quiver(X, Y, x, y)
pylab.savefig("out.png")

Спасибо.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 16:05 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Непонятно главное: как наступление событий связано с распространением информации? Например, если в сегодня 17.32 баба Клава купила в Пятерочке 2 кг гречки (больше ей не донести), то как это связано с распространением информации о начавшемся на прошлой неделе конкурсе красоты в Бобруйске? :shock:

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 21:02 


21/11/14
12
Цитата:
если в сегодня 17.32 баба Клава купила в Пятерочке 2 кг гречки (больше ей не донести), то как это связано с распространением информации о начавшемся на прошлой неделе конкурсе красоты в Бобруйске?


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

Поэтому я и хочу понять, можно ли построить что-то вроде векторного поля скоростей: с какой скоростью это явление как бы преодолевало пространство.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 21:15 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
vitalyisaev2 в сообщении #934345 писал(а):
Цитата:
если в сегодня 17.32 баба Клава купила в Пятерочке 2 кг гречки (больше ей не донести), то как это связано с распространением информации о начавшемся на прошлой неделе конкурсе красоты в Бобруйске?


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

Поэтому я и хочу понять, можно ли построить что-то вроде векторного поля скоростей: с какой скоростью это явление как бы преодолевало пространство.
Физические явления подчиняются законам физики, биологические - законам биологии. и т.п. Зная эти законы, можно вычислить скорость их распространения. При чем здесь скорость регистрации этих явлений зеваками? Если медведь помрет в центре Парижа, то газеты тотчас напишут об этой сенсации, если же медведь загнется в центре сибирской тайги, то кроме его медведицы никто ничего не зарегистрирует.
В общем, раскардаш выходит.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 21:34 


21/11/14
12
Цитата:
Физические явления подчиняются законам физики, биологические - законам биологии. и т.п. Зная эти законы, можно вычислить скорость их распространения. При чем здесь скорость регистрации этих явлений зеваками? Если медведь помрет в центре Парижа, то газеты тотчас напишут об этой сенсации, если же медведь загнется в центре сибирской тайги, то кроме его медведицы никто ничего не зарегистрирует.
В общем, раскардаш выходит.


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

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 21:46 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
У Вас есть, грубо говоря, двумерное скалярное поле. Так? Вы хотите его превратить в векторное поле, показывающее, откуда и с какой скоростью что-то пришло. Так?

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 23:00 


21/11/14
12
Цитата:
У Вас есть, грубо говоря, двумерное скалярное поле. Так? Вы хотите его превратить в векторное поле, показывающее, откуда и с какой скоростью что-то пришло. Так?


Да, всё так

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение21.11.2014, 23:26 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Тут я вижу неустранимую неоднозначность. Длину стрелочек рисовать понятно как (скорость - величина обратная к разности времени), но как им выбрать направление? Куда идёт распространение-то?

-- менее минуты назад --

(Понятно, что во все стороны. Но стрелочки рисовать куда?)

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 00:26 


21/11/14
12
Цитата:
Тут я вижу неустранимую неоднозначность. Длину стрелочек рисовать понятно как (скорость - величина обратная к разности времени), но как им выбрать направление? Куда идёт распространение-то?


Мне кажется, что от локальных максимумов к минимумам... Поле устроено так, что максимальные значения соответствуют ранним временам, а минимальные - поздним.

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


18/05/06
13438
с Территории
Ну, попробуйте так. Красивые линии от максимумов к минимумам рисуются по градиенту.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 01:20 


21/11/14
12
К сожалению, мне непонятно, как именно преобразовать поле времени в поле скоростей... В этом и заключается основной вопрос. Если построить градиент того скалярного поля, то получется такая картина:

Изображение

Она противоположна тому, что я хочу получить: здесь наибольшие градиенты (времени?) относятся к зонам, куда информация шла дольше всего. Следовательно, скорость распространения информации здесь самая низкая, и векторы должны быть самыми короткими.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 01:24 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ну так и сделайте их самыми короткими. Сделайте длину векторов равной "один поделить на нынешнюю длину".
Но тут вылезет проблема, о которой я сразу сказал: неоднозначность. Все те вектора, которые сейчас самые короткие (видны как точки), станут ВНЕЗАПНО длинными, и куда же они будут указывать? Да куда попало.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 01:39 


21/11/14
12
Мда... так и получилось. Получается, выхода нет из этой ситуации?

Изображение

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 02:05 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ну, я его не вижу. По-моему, Вы ищете то, чего нет.

 Профиль  
                  
 
 Re: Построить векторное поле скоростей по полю времени события
Сообщение22.11.2014, 09:38 


02/11/08
1193

(Оффтоп)

такую картинку хотите получить? там слева внизу куча настроек - океанические течения и прочее http://earth.nullschool.net/#current/wind/surface/level/orthographic=-203.24,3.20,413

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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