Witam
Obecnie próbuję wyświetlić określoną ilość elementów na ekranie.
Problemem jest obliczenie odpowiedniej skali, tak żeby elementy zajmowały jak największy możliwy obszar oraz żeby nie wychodziły poza niego.
Po wielu próbach otrzymałem poniższy kod, jednak ilość elementów wyświetlana jest mniejsza niż powinna być.
double SkalaNT;
short int DLZ[2];
SkalaNT = sqrt((((Width - Width / 5.0) / 1000.0) / (1.5 * DLM) * ((Height - Height / 5.0) / 1000.0) / 1.625) /
(ltextur1D + ltextur2D + ltextur3D + lModeli + lModeliP));
DLZ[0] = ((Width - Width / 5.0) / 1000.0) / (1.5 * DLM * SkalaNT);
DLZ[1] = ((Height - Height / 5.0) / 1000.0) / (1.625 * SkalaNT);
Width
To szerokość ekranu.
Height
To wysokość ekranu.
DLM
To długość elementu, jest równa 2.2.
ltextur1D + ltextur2D + ltextur3D + lModeli + lModeliP
Jest równe 15.
Odstęp w poziomie pomiędzy elementami to 1.5, a w pionie 1.625.
Dla ekranu o wymiarach 1440x900, SkalaNT jest równa 0.1018, a iloczyn DLZ[0] i DLZ[1] jest równy 12, zamiast 15.
W jaki sposób mogę prawidłowo obliczyć skalę?