Bublina - algoritmus pohybu

 

Každá z bublin se pohybuje po kružnici, která mění náhodně střed otáčení.

 

Nový střed otáčení se vypočítá tak, že určím rovnici přímky mezi starým středem otáčení a bodem na kružnici.

Po dosazení 2 násobné vzdálenosti do rovnice dostávám nový střed otáčení.

Následně ještě změním směr pohybu po kružnici.

Toť varianta a)

 

Uvažoval jsem ještě o varientě b), která by byla ještě více chaotičtějčí, kde by se měnil i poloměr otáčení, ale na realizaci nedošlo.

 

K samotnému algoritmu.

 

Mám souřadnice středu otáčení a bod na kružnici.

x1 = RotacniBodX; // bod A

y1 = RotacniBodY;

x2 = PoziceX; // bod B

y2 = PoziceY;

 

vypočítám rovnici přímky procházející těmito body.

odečtu od sebe jednotlivé body B-A

x3 = x2 - x1;

y3 = y2 - y1;

 

 

a dosadím do rovnice přímky

y = b + a * x

 

vytknu před závorku

a = y3 / x3;

b = y1 - a * x1;

 

 

nové souřadnice otáčení. Jednou tak daleko jako je střed staré kružnice a bod na přímce.

 

y = b + a * ((x2 - x1) * 2 + x1);       

--- (((x2 - x1) * 2 + x1)    - dvounásobná vzdálenost co je vzálenost středu starého otáčení a bodu na kružnici

 

x = (y - b) / a; - jen dopočítání nové X souřadnice podle vzorce.

 

 

 

Nahodny pohyb

 

 





Kontakt M: 724 085 607 E: info@bura.cz

© Bura.cz