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ę?