Ошибка При Масштабировании

06.12.2012
1
0
#1
Здравствуйте ,написал программу для вывода точек в builder ,но допустил ошибку и 3 день её вылавливаю , был бы рад ,если бы указали на неё .
На форме есть GroupBox , по высоте он равен форме .
Пытаюсь вывести на свободное пространство точки и оси X,Y , предварительно отмаштабировав ,но большинство точек выходят за пределы видимой области формы.

maxx,minx,maxy,максимальные и минимальные координаты по х и у,
m - массив координат .
C++:
k1=(Form1->Width-Form1->GroupBox1->Width)*1.0/(maxx-minx);// коэффициент преобразования по Х 
k2=(Form1->Height)*1.0/(maxy-miny); //коэффициент преобразования по Y 
x0=abs(minx*k1); //положение начала координат по х
y0=abs(maxy*k2); // и по у
// вывод осей
Form1->Canvas->MoveTo(0,int(y0));
Form1->Canvas->LineTo(Form1->Width-Form1->GroupBox1->Width,int(y0));
Form1->Canvas->MoveTo(int(x0),0);
Form1->Canvas->LineTo(int(x0),Form1->Height);
//вывод точек
for (int i=0;i<n;i++)
Form1->Canvas->Ellipse(int(m[i].x*k1+x0-4),int(y0-m[i].y*k2-4),int(m[i].x*k1+x0+4),int(y0-m[i].y*k2+4));