Znajdowanie wzoru funkcji liniowej

Tekst dotyczy znajdowania wzoru funkcji liniowej przechodzącej przez dane punkty.

Przyjmujemy wzór funkcji liniowej jako:

y = ax + b 


A dane punkty, jako:
(X1,Y1)
i
(X2,Y2)


Więc:

/ Y1 = a*X1 + b
<
 \ Y2 = a*X2 + b


I 'pozbywamy' się b:

#/ Y1 = a*X1 + b
<
 \ Y2 = a*X2 + b / *(-1)


   / Y1 = a*X1 + b
  <
+  \ -Y2 = -(a*X2) - b
----------------------
(Y1-Y2) = (a*X1)-(a*X2)
aX1-aX2 = (Y1-Y2)
a(X1-X2) = (Y1-Y2) / :(X1-X2)
a = (X1-X2) / (Y1-Y2)

// i obliczamy b:
# Y1 = a*X1 + b
  a*X1 + b = Y1
  b = Y1 - (a*X1)

// więc:
a = (X1-X2) / (Y1-Y2)
b = Y1 - (a*X1);



A sama implementacja tego w C++ jest banalna:

void Line(int X1, int Y1, int X2, int Y2)
{
  if((X1-X2) != 0)
  {
    float a1 = (Y1-Y2);
    float a2 = (X1-X2);
    float a =  (a1/a2);
    float b = Y2-(a*X2);
    cout << "y = " << a << "x + " << b <   }
}
 

Programowanie - najnowsze