Ta strona używa plików cookies. Brak zmiany ustawień przeglądarki oznacza zgodę na ich użycie.[close]

Posty bez odpowiedzi

ciąg geometryczny - 2 niewiadome

AutorWątek: ciąg geometryczny - 2 niewiadome (przeczytano 6088 razy, odpowiedzi 2)

muhomor

Postów: 2Dołączył: 01.04.2013
01 April, 2013, 20:29:00

cześć, pracuję nad aplikacją mobilną w której stosuję algorytm "wygładzania" animacji ruchu. stosuję go do przesuwania obiektu na ekranie przy przeciąganiu. działa on następująco:

gdy kursor przesuwa się o daną odległość ustalany jest punkt docelowy do którego obiekt dąży w każdej klatce animacji. obiekt przesuwa się co klatkę o współczynnik A odległości jaką ma do pokonania.

dodatkowo gdy kończy się interakcja dodawana jest bezwładność, tak aby obiekt gładko się zatrzymał po nieokreślonej odległości. działa to tak:

co klatkę do odległości docelowej dodawana jest wartość przebytej w tej klatce odległości przemnożonej przez współczynnik B. w ten sposób punkt docelowy przesuwa się lecz zawsze o wartość mniejszą niż obiekt właśnie przebył.

0 < A < 1
0 < B < 1

tak zapisałbym wzór na n-ty wyraz ciągu gdzie wyraz jest odległością jaką obiekt przebywa w kolejnych klatkach

a_{n} = (A + AB)^{n-1}AD
A - współczynnik przyrostu
B - współczynnik bezwładności
D - początkowa odległość do punktu docelowego

teraz pojawia się mój problem. potrzebuję aby ostateczny punkt docelowy wypadł nie tam gdzie zaprowadzi go ten wzór, a w miejscu gdzieś obok. załóżmy że obiekt zatrzyma się pomiędzy dwoma punktami "kontrolnymi", zależy mi na tym aby zatrzymał się w jednym z nich, tym najbliżej, czyli wcześniej lub później. doszedłem do tego że aby to osiągnąć muszę dobrać odpowiedni współczynnik bezwładności, mniejszy lub większy w zależności od tego który punkt będzie bliżej. w ten sposób przekształciłbym wzór tak aby obliczyć B, ale wciąż n pozostaje niewiadomą, gdyż nie chcę zakładać, że tę trasę pokona w takiej samej liczbie iteracji co do punktu rzeczywistego.

a_{n} dąży do zera, ale nie muszę tak komplikować obliczeń, wystarczy mi gdy wartość osiągnie 1, zaokrąglenie do 1 piksela do żaden problem. mając 2 niewiadome potrzebuję dwóch równań, więc drugim równaniem może być suma tego ciągu osiągająca początkową odległość do przebycia. ląduję z tym:

(A + AB)^{n-1}AD < 1
AD(1 - (A + AB)^{n}) \div 1 - (A + AB) > D

jeśli oczywiście się nie pomyliłem zadanie rozwiązane... ale jak z tych wzorów obliczyć B nie mając n, jak to przekształcić aby po jednej stronie równania było B, nie wiem.

proszę o pomoc, bo bardzo mnie to intryguje :) i dziękuję za wszelkie wsparcie

muhomor

Postów: 2Dołączył: 01.04.2013
01 April, 2013, 20:41:50

warto wcześniej przeczytać instrukcję :/ proszę o moderację
wzory w LaTeX poniżej




Odpowiedz Strony 1 Poprzednia Następna

Statystyki forum

442 odpowiedzi w 177 tematach, wysłane przez 138 użytkowników.
Najnowszy użytkownik: annku