Как заставить некоторые объекты перемещаться случайным образом в пространстве, скажем, сетка [-5,5] - PullRequest
0 голосов
/ 22 мая 2019

Мне нужно переместить некоторые объекты, скажем, 50 в пространстве (то есть сетка [-5,5]) и убедиться, что, если сетка разделена на 100 частей, большинство частей (90% или более) однажды посещенный любым объектом

ограничения:

объект должен двигаться в произвольных направлениях в сетке, часто меняя свои скорости (меняя скорость и направление на каждой итерации)

Я думал о прыгающих шарах (НО, движущихся в случайных направлениях, даже если они не попадают ни в какое пространство, а не в то, как движется настоящий шар), если бы мы могли оставлять их в пространстве в разных положениях с разными силами и каждый раз, когда они ударяя друг друга (или приближаясь к определенному расстоянию), они движутся в разных направлениях с разной скоростью и могут дать нам результат, близкий к 90% попаданию частей в сетке.

Мне также нужно убедиться, что объекты не выходят за пределы сетки (можно установить пределы lb и ub и вернуть их в случае, если они попытаются покинуть сетку)

Мой код отличается от идеи, которую я написал выше ...

 ux = 1;  
 uy = 15;
 g = 9.81;
 t = 0; x(1) = 0; 
 y(1) = 0;  
 tf = 2.0 * uy / g; % time of flight back to the ground
 dt = tf / 20; % time increment - taking 20 steps  
 while t < tf
 t = t + dt;     
 if((uy - 0.5 * g * t) * t >= 0)
 x(end + 1) = ux * t;           
y(end + 1) = (uy - 0.5 * g * t) * t;
 end      
end    
plot(x,y)

этот код заставляет мяч идти по закону Ньютона, что не так Итог: мне просто нужно иметь возможность посещать множество частей сетки за короткое время, поэтому я хочу, чтобы объекты хаотично перемещались в пространстве случайным образом (каждый раз, когда я запускаю код, мне нужен другой результат, поэтому это должен быть случайный путь) и чтобы получить лучший результат, я мог бы заставить объекты отражаться в разных направлениях, если они ударяются или посещают друг друга в одних и тех же частях, это, вероятно, даст мне лучший результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...