Задать вопрос
@SergeySerge11

Как построить векторное поле из массива случайных точек?

Как построить векторное поле из массива допустим 3 точек? Триллион статей уже прочел, везде примеры, "Для Функции...".
Вот пример задачи, https://en.wikipedia.org/wiki/Metaballs
Что бы визуализировать, нужно на каждой итерации рассчитать такое уравнение
1=Σ( Ri/sqrt((X-Xi)^2+(y+Y^2) )
Если посмотреть, то по факту в холостую уходит тонна расчетов.
К примеру допустим, мне надо отрисовывать только контур шаров, тогда для 2 шаров радиусом в 10px на поверхности в 100*100 будет 99% расчетов в никуда.
Как можно через теорию поля решить это задачу.

Я пытаюсь как-то так решить.
К примеру, можно складывать пред. результат с производной. Но пока не получается.
f(x+dx)=f(x)+f`(x)*dx*dy
Есть вот Градиенты, Дивергенции. Не все понимаю, как применить к задачи.
Из задачи, круги, будем считать центы гравитации, и они там двигаются, то есть n векторов движений.
Решаю примерно так. ноль инфы
0. Генерю положение центров кругов.
1. Начальная инициализация по уравнению. Построения скалярного поля, цветовой заливки плоскости.
2. Строю матрицу производных. к каждой точке.
3. Перемещаю круги. Field[x,y]=Field[x,y] + calc(x,y);
3.1 типа вычисляю производную(беру из массива), и умножаю на вектор направления(вопрос какой), обновляю массив.
4. Отрисовываю if(Field[x,y]>1) Draw(x,y)

Не могу понять, что означает производная по направлению к вектору, точнее как понимать, что у меня N шаров с N векторами скоростей в точках, а какой вектор будет для случайной точки между ним, за точкой? Если у меня не задано уравнение, как не гуглю, все примеры задач, "У вас есть функция.... " далее, и ежу понятно что.
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Я плохо знаю вышку. Но я-бы смотрел на эту задачу с точки зрения инструментов инженерной графики.
А инструменты там такие. Полигоны. Вокселы. И particles (частицы).

Для вокселов проще всего наверное. У тебя есть напреженность поля как функция F(x,y,z). Вот и рисуй
воксел когда напряженность выше уровня и не рисуй иначе. Будет такая картинка вроде Minecraft.

Для двумерного случая - тоже самое. Рисуй квадратик.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы