Witam.
Natknąłem się na kolejny problem podczas programowania skryptu.
Spróbuję wyjaśnić obrazowo.
Mam obszar o rozmiarze 400px wysokości i dowolnej szerokości.
Na tym obszarze mam układ współrzędnych, kolejno w wysokości co 10% (co 40px).
Wygląda to w ten sposób:
Poziome linie na wykresie oznaczają kolejno 10%, 20% itd.
Teraz chciałbym przeskalować cały układ współrzędnych, tak, aby współrzędna, która znajduje się na 10% znalazła się na 0%, czyli na samym dole. Logicznym jest więc rozciągnięcie układu współrzędnych o 40px (10%) w dół, a następnie usunięcie dolnych 10%. Jednak, wcześniej nie wziąłem pod uwagę, że rozciągną się także przestrzenie między współrzędnymi. W efekcie, po opercji rozciągnięcia o 10%, a następnie usunięcia tych 10% otrzymuję taki efekt:
Brakuje dokładnie 1%, przy rozciągnięciu o 11% i usunięciu 11% współrzędna znajdująca się na 10% pierwotnego układu znajduje się na samym dole.
Przy próbie przeniesienia współrzędnej z 20% na sam dół, brakuje już 5%.
Próbowałem znaleźć jakąś zależność, ale nic nie zauważyłem, szukałem także wzorów na wyliczenie rozciągnięcia współrzędnych, ale także nic nie znalazłem.
Tak wyglądają zależności między ilością procent rozciągniętych, a brakującą ilością do pożądanego efektu:
10% - 1%
20% - 5%
30% - 13%
40% - 26%
Jestem przekonany, że istnieje jakiś prosty wzór, pozwalający obliczyć, ile brakuje do uzyskania pożądanego efektu.
Mam nadzieję, że wytłumaczyłem wszystko w przystępny sposób.
Pozdrawiam.