An environment for experiments / Um ambiente para experimentos

{English}
Environment being developed in Processing for experiments in emergence of graphical images. For the inter-relation of several images in a space, the initial attempt was to apply some physical characteristics. Because the unities needed to occupy a real space with some defined boundaries.

Collision equations normally consider a inversion of velocities in relation to the meeting point between the balls. This is problematic for a computational simulation, because that is calculates in a time-space of frames, and you never have the exact moment of collision, but a point at which the balls are already superimposed (Fu-Kwun Hwang ilustrates here the problem). The solution for the problem was the follow

dx = bola2X-bola1X;
dy = bola2Y-bola1Y;
dist = sqrt(dx*dx+dy*dy); // distance
distMin = bola2Raio+bola1Raio;
if (dist<distMin) {
ang = atan2(dy,dx);  //collision anglr
targetX = bola1X + cos(ang) * distMin;
targetY = bola1Y + sin(ang) * distMin;
ax = (targetX – bola2X) * spring;  //spring=~0.6
ay = (targetY – bola2Y) * spring;
bola1X -= ax; bola1Y -= ay;
bola2X += ax; bola2Y += ay;

For handling the movements of the units was implemented vectors of acceleration, velocity and position. And a initial behavior of cohesion and separation in relation to other units.

{Português}
Ambiente sendo desenvolvido em Processing para experimentos de emergência de imagens gráficas. Para a inter-relação de várias unidades em um espaço, se buscou a principio a aplicação de algumas características físicas. As unidades precisavam ocupar um espaço com limites definidos, para poderem se aglomerarem e se movimentarem sem virar uma única bola de várias unidades sobrepostas.

As equações de colisão normalmente consideram a inversão de velocidades em relação a normal do ponto de encontro entre as bolas, levando em conta as vezes as diferentes massas. Isso se torna problemático para uma simulação computacional que avança calculando em unidades de frames, porque nunca se tem o momento exato da colisão, e sim um ponto em que as bolas já estão sobrepostas (Fu-Kwun Hwang ilustra aqui o problema). Retroceder e avançar unidades de tempo causa reações estranhas quando há muitas bolas aglomeradas. A solução encontrada foi de caráter mais simples e diferente da apresentada por Fu-Kwun Hwang, por serem unidades com movimento autônomo a inversão de velocidade não era necessária, as bolas precisavam empurrar e serem empurradas, e ao se verem em grandes aglomerados, lutarem aos poucos por seu espaço, sendo algumas vezes comprimidas. Calcula-se então o ângulo de encontro das unidades e quanto elas estão sobrepostas em relação a seus raios, uma parte da diferença é adicionada a cada bola em cada frame, para que as bolas se acomodem suavemente as necessidades do seu espaço.

dx = bola2X-bola1X; // diferença no posicionamento do eixo X
dy = bola2Y-bola1Y;
dist = sqrt(dx*dx+dy*dy); // teorema de pitagoras para descobrir a distância
distMin = bola2Raio+bola1Raio;
if (dist<distMin) {
ang = atan2(dy,dx);  //angulo de colisão
targetX = bola1X + cos(ang) * distMin;
targetY = bola1Y + sin(ang) * distMin;
ax = (targetX – bola2X) * spring;  //spring=~0.6
ay = (targetY – bola2Y) * spring;
bola1X -= ax; bola1Y -= ay; //acertando a posição das bolas
bola2X += ax; bola2Y += ay;

Para a movimentação das unidades se implementou vetores de aceleração, velocidade e posição. E comportamentos iniciais de coesão e separação em relação as outras unidades próximas para movimentação autonoma.

0 Responses to “An environment for experiments / Um ambiente para experimentos”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Categories / Categorias

Looks / Olhares

  • 17,555

%d bloggers like this: