Fazendo partículas se moverem aleatoriamente dentro de um círculo [fechado]

Estou tentando fazer com que os pontos plotados se movam dentro de um círculo de um raio e centro conhecidos. No momento, sou capaz de gerar pontos dentro dos limites, mas agora preciso fazê-los se mover.

Eu tenho o seguinte script para gerar os locais iniciais das partículas.

function [particle_gen] = generate(n,centre,radius)
    %generates n particles in a circle with specified centre and radius

    angle = 2 * pi * rand(n,1);
    r = radius * sqrt(rand(n,1));
    X = r.*cos(angle) + centre(1);
    Y = r.*sin(angle) + centre(2);
    plot(X,Y,'.k')
end

Quero animá-las para que as partículas viajem em linha reta a uma velocidade constante até atingirem o limite circular e ricochetearem. Eu preciso que isso aconteça dentro do mesmo enredo.

questionAnswers(2)

yourAnswerToTheQuestion