Wykres funkcji kwadratowej. Skalowanie wykresu. Problem

0

Witam
Na lekcji programowania dostaliśmy zadanie napisania programu obliczającego funkcje kwadratową oraz następnie rysującego jej wykres.
Napisaliśmy program obliczający funkcje oraz tworzący układ lecz problem jest z skalowaniem tego wykresu zeby nawet przy dużym zakresie paraboli był nadal widoczny oraz zeby przy przesunięciu sie paraboli na osiach na picturebox-ie był wyświetlony wykres w całej okazałości a nie punkt przecięcia osi x i y.
Szukaliśmy różnych rozwiązań lecz nadal nic nie działa.
Program znajduje sie tutaj :
http://www.speedyshare.com/files/24600153/Wykres.rar

Prosił bym o pomoc.
Z góry dziękuje za wszelkie sugestie.

Pozdrawiam

0

Ja w kwestii formalnej, a właściwie logiki części zadania dotyczącej zobrazowania.
Jak zamierzacie zobrazować wykres funkcji w zakresie od nieskończoności do nieskończoności w zakresie odciętej oraz wierzchołka paraboli do +/- nieskończoności w zakresie rzędnej? Wg mnie raczej niezbyt możliwe do zobrazowania, chociaż informatyka czyni duże postępy m.in. w tym kierunku :)
Pozostaje zobrazowanie w określonym zakresie x oraz y i skalowanie tego do rozdzielczości obszaru roboczego, jednak najpierw proponowałbym sprawdzić, czy krzywa w zadanym obszarze się znajduje. Ponadto skalowanie (jeżeli wchodzi w rachubę) powinno być proporcjonalne, aby zachować proporcje wykresu, bo w inny przypadku po co się męczyć, gdy wystarczyłby jeden wykres funkcji kwadratowej, a skalowaniu mogłyby podlegać osie :D
Mam nadzieję, że nie zniechęciłem Was do dalszego zgłębiania tajników programowania, jednak uważam, że nawet w tak przeteoretyzowanej dziedzinie znajduje się chociaż trochę miejsca na zdrowy rozsądek.
ps. całe szczęście, że nie przerabiacie funkcji logarytmicznych lub wykładniczych ;P

0

Jak już powiedziano, całej nieskończonej paraboli przedstawić się nie da.
gdzie jest punkt przecięcia to wiadomo, więc można tak rysować, by był na środku wykresu, a skalę osi założyć odgórnie, np. 30 pikseli odpowiada 1.0 jednostek układu współrzędnych.

0

@Azarien, głupoty opowiadasz. Na osi Ox ilość piksli na jednostkę można ustalić odgórnie. Na osi Oy nie. Trzeba wpierw wykonać obliczenia, wyznaczyć najmniejszą i największą wartość y, i na tej podstawie ustalić ilość piksli na jednostkę.
Umieszczenie początku układu w środku ekranu też może być mocno bezsensowne gdy np. x zmienia się od
1000 do 3000, a y od 15000 do 16000.

0

Jakiś pomysł jak ustawiać zakresy osi x i y ?

0
bo napisał(a)

Na osi Oy nie. Trzeba wpierw wykonać obliczenia, wyznaczyć najmniejszą i największą wartość y, i na tej podstawie ustalić ilość piksli na jednostkę.

Mówimy o funkcji kwadratowej. „czubek” łatwo wyznaczyć, i jest on najmniejszą (albo największą) wartością y. drugiej granicy y nie ma, ramiona zawsze idą w nieskończoność.

Na osi Ox ilość piksli na jednostkę można ustalić odgórnie.
też nie, bo punkty zerowe mogą być w dowolnej odległości od siebie. a nie chcemy chyba trafić z wykresem w „powietrze”...

0

Azarien, niczego nie zrozumiałeś. Jak chcemy narysować wykres jakiejkolwiek funkcji, to wpierw musimy ustalić zakres zmiennej x i rozmiar ekranu przeznaczony na rysunek. Jak to zrobimy, to ilość piksli na jednostkę na osi Ox możemy wyliczyć (to właśnie nazwałem ustaleniem odgórnym), nie musimy nic wiedzieć o funkcji.
Natomiast żeby ustalić sensownie ilość piksli na jednostkę na osi musimy wyznaczyć najmniejszą i największą wartość funkcji w rozpatrywanym przedziale. Dla paraboli żadna z tych wartości nie musi być związana z wierzchołkiem - użytkownik może tak wybrać zakres wykresu, że wierzchołka na nim nie będzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1