witam,
mam napisać następującą klasę w C++:
Napisz klasę Prosta która będzie reprezentowała prostą na płaszczyźnie o równaniu ax + by = c oraz P – strukturę reprezentującą punkt (x,y) na tej płaszczyźnie.
Dla wykonania operacji nad prostymi należy zdefiniować odpowiednio konstruktory prostych i punktów oraz:
operator+ - do przesuwania prostej w poziomie,
operator* - do wyznaczania punktu przecięcia prostych,
operator<< - do drukowania punktu przecięcia (tj. obiektu typu P)
oraz inne niezbędne globalne lub składowe funkcje.Napisać program testujący, który wyznacza i drukuje punkt przecięcia osi y-ów (prosta o równaniu x=0) z prostą przechodzącą przez punkty (0,3), (3,0) (prosta o równaniu x+y=3) przed i po jej przesunięciu w lewo o 1.5
Mam kilka zasadniczych pytan:
- Jak napisać tą klasę Prosta? W konstruktorze mają być argumenty a, b, c?
- Punkt przecięcia obliczę wg tych wzorów:
http://www.math.edu.pl/punkt-przeciecia-dwoch-prostych
zgadza się?
- Przesuwanie w poziomie można zrobić poprzez dodanie do x wartości argumentu operatora+. Ale we wzorach z powyższego linku współrzędna x nie bierze udziału w obliczeniach przy wyznaczaniu punktów wspólnych...
- Zakładając że prosta ma równanie Ax + By = C, a konstruktor prostej postać Prosta(a, b, c), to:
- prostą o równaniu x = 0, zdefiniuję za pomocą konstruktora Prosta(1, 0, 0)?
- prostą o równaniu x + y = 3, zdefiniuję za pomocą konstruktora Prosta(1, 1, -3) czy Prosta(1, 1, 3)?
Z góry wielkie dzięki za pomoc.