Nie wiem czy to odpowiedni dział, ale głowie się cały dzień i nie mogę zrozumieć skąd się biorą takie wzory i co one reprezentują ;/
Mianowicie mam punkt, który posiada następujące wartości:
Kod: Zaznacz cały
double k = 0.01;
double x, y; // pozycja punktu
double vx, vy; // predkosc punktu
Podczas tworzenia punktu mam w przykladzie tak:
Kod: Zaznacz cały
x = Math.random();
y = Math.random();
vx = k*(Math.random() - Math.random());
vy = k*(Math.random() - Math.random());
i teraz zaczyna się część której nie mogę zrozumieć :/
1. Funkcja, która realizuje to, że punkt będzie krążył wokół punktu (wspolrzednych) początkowych (z wykorzystaniem funkcji tryg.):
Każdy ruch powoduje:
Kod: Zaznacz cały
double a = 0.5;
double xx = vx;
double yy = vy;
vx = xx*Math.cos(a) - yy*Math.sin(a);
vy = xx*Math.sin(a) + yy*Math.cos(a);
x += vx;
y += vy;
2. Z każdym ruchem lekko zmieni się wektor prędkości punktu (z wykorzystaniem funkcji tryg.):
Każdy ruch powoduje:
Kod: Zaznacz cały
double a = (Math.random()*Math.PI-Math.PI/2)*0.2;
double xx = vx;
double yy = vy;
vx = xx*Math.cos(a) - yy*Math.sin(a);
vy = xx*Math.sin(a) + yy*Math.cos(a);
x += vx;
y += vy;
Próbuję to sobie jakoś rozpisać, ale słabo idzie. Z tego co próbuję coś rozumować to chyba te "a" oznacza kąt podany w radianach tak?