Witam majac program rysowania odcinka korzystając z równania kierunkowego prostej y=ax+b mam problem taki, ze nie nie rozumiem niektórych warunkow... mianowicie mając dwie funkcje ktore odpowiadaja za pobieranie punktu wspolrzednych klikniecia myszy:
void MyWindow::mousePressEvent(QMouseEvent *event)
{
x0 = event->x();
y0 = event->y();
x0 -= poczX;
y0 -= poczY;
}
i odpowiedzialna za pobieranie wspolrzednych puszczenia przycisku myszy
void MyWindow::mouseReleaseEvent(QMouseEvent *event)
{
x1 = event->x();
y1 = event->y();
x1 -= poczX;
y1 -= poczY;
//rysowanie odcinka
float a, b;
a = (float)(y1 - y0)/(x1 -x0);
b = (float)(y0 - a * x0);
if(x0 < x1)
{
if(abs(a) < 1)
{
for(int x = x0; x <=x1; x++)
{
int y = a * x + b;
zapalPiksel(x,y);
}
}
else if(abs(a) >= 1 && y0 < y1 )
{
for(int y = y0; y <=y1; y++)
{
int x = (y - b)/a;
zapalPiksel(x,y);
}
}
else
{
for(int y = y1; y <=y0; y++)
{
int x = (y - b)/a;
zapalPiksel(x,y);
}
}
}
else
{
if(abs(a) < 1)
{
for(int x = x1; x <=x0; x++)
{
int y = a * x + b;
zapalPiksel(x,y);
}
}
else if(abs(a) >= 1 && y1 < y0)
{
for(int y = y1; y <=y0; y++)
{
int x = (y - b)/a;
zapalPiksel(x,y);
}
}
else
{
for(int y = y0; y <=y1; y++)
{
int x = (y - b)/a;
zapalPiksel(x,y);
}
}
}
}
nie wiem co oznaczaja w kodzie takie warunki jak :
if(abs(a) < 1)
lub
else if(abs(a) >= 1 && y0 < y1 )
Bardzo proszę o pomoc w zrozumieniu