Witam.
Mam do napisania program który powinien działać tak: dodaje punkty z formularza lub klikając myszką w obszar wykresu. Następnie metodą najmniejszych kwadratów wyznaczam linie trendu.
Całość akcji dzieje się oczywiście w C#
Jako, że nie jestem zbytnio zaawansowany problem dla mnie stanowi orientacja układu współrzędnych: standardowo punkt 0,0 znajduje się w lewym górnym rogu - oczywiście poradziłem sobie z tym stosując myk o którym wielokrotnie była mowa tu na forum:
pozycja wskaźnika:
float G =150-e.Y;
float H = e.X -300;
(Mój picbox w którym rysowany jest wykres ma wymiary 600 x 300).
Problem polega na tym, że kod dodający punkty, rysujący je na ekranie oraz obliczający wzór funkcji na szukaną linie trendu jest napisany w oparciu o współrzędne globalne (czyli punkt 0,0 w lewym górnym rogu) - bo przecież inaczej nie mogłem tego zrobić?? (gdyby np. wartości współrzędnych X i Y były modyfikowane od razu, to doszłoby do takiej sytuacji, że klikając myszka w dane miejsce picboxa punkt zostałby narysowany na wykresie z przesunięciem o wektor 300,-150)
Zmierzając do końca i sedna problemu: __Linia trendu w oparciu o współrzędne lokalne jest wyznaczona poprawnie ale chciałbym uzyskać jej wzór, zakładając ze punktem 0,0 jest punkt na środku picboxa (czyli globalne współrzędne 300, -150). Jak to zrobić? __Zwykłe przesunięcie o wektor nie daje spodziewanych efektów - m.in. współczynnik b nie zgadza sie z punktem przecięcia osi Y (tej która biegnie przez środek picboxa)
Mam nadzieję, że ktoś zrozumie o co chodzi :D wiem, że trochę pomieszanie z poplątaniem...
Czy moje myślenie jest złe od podstaw czy jest jakiś prosty sposób??