rysowanie układu współrzędnych i siatki

0

Witam, próbowałam znaleźć podobny temat, ale niestety bez skutku, jesli jednak za słabo szukałam to wybaczcie :-(

Mam do napisania na zaliczenie program w C# rysujący wykresy funkcji kwadratowych. Pod względem matematycznym itp ze wszystkim daję radę jednak problem stanowi dla mnie rysowanie układu współrzędnych i siatki. Czy mogę liczyć na pomoc? próbowałam już z PictureBoxem i Panelem ale na żadnym moje kombinacje z kodami nie dają skutku i nie wiem już jak to narysować.

Prosze o pomoc ;-(

1

Miło że dołączyłeś do 4p specjalnie żeby się zapytać :>

Możesz rysować na czym chcesz, nawet na formie bezpośrednio.

Co do siatki powinno ci wystarczyć (nie wiem na ile to ma być 'pro' program), ale na układ współrzędnych to trochę mało :]

            Graphics g = Form1.CreateGraphics();
            int rozpietoscX = 10;
            int rozpietoscY = 10;

            for (int y = 0; y < Form1.Height; y += rozpietoscY) ;
            {
                g.DrawLine(Pens.Black, 0, y, Form1.Width, y);
            }

            for (int x = 0; x < Form1.Width; x += rozpietoscX)
            {
                g.DrawLine(Pens.Black, x, 0, x, Form1.Height);
            }

(nie testowałem, ale na 99% będzie działać)
To jest najprostsze możliwe rozwiązanie, bez żadnych bajerów. Nie wiem jak to dokładnie ma wyglądać bo sie nie wypowiedziałeś...

0
MSM napisał(a)

Miło że dołączyłeś do 4p specjalnie żeby się zapytać :>

rozczaruje Cie jestem kobieta [green]

MSM napisał(a)

Co do siatki powinno ci wystarczyć (nie wiem na ile to ma być 'pro' program), ale na układ współrzędnych to trochę mało :]

mało w jakim sensie?

chodzi mi o program, który będzie rysował na układzie współrzędnych dwa wykresy wielomianów i obserwowanie ich zmian przy zmienianiu współczynników przy X i jak się zachowują względem siebie, punkty wspólne, miejsca zerowe itp...pod względem matematycznym i obliczeniowym jestem w stanie to zrobić, ale nie potrafię narysować układu współrzędnych i siatki pod tym układem, by łatwiej odczytywac dane...mysle ze z rysowaniem wykresu tez będę troche siedziała, ale na razie nie potrafię w ogóle narysować układu i siatki, co jest niezbędne bym mogła cos zacząć dalej działac

0

Ok, siatkę zrobiłam, tylko teraz nie wiem nadal jak z układem współrzędnych i najważniejsze, czy da radę jakoś zrobić by ta siatka się pokrywala ze skalą na układzie czy to juz kwestia kombinowania z danymi w sensie liczbami i poprzesuwać jedno do drugiego by się zeszło?

0

jeżeli siatke i podziałke na układzie rysujesz powiedzmy od 0,0 i załóżmy, siatke co 5 pixeli, a podziałka będzie wielokrotnością tej piątki, np 25 to będzie się pokrywało.
i teraz musisz jeszcze przyjąć ile pixeli będzie odpowiadało centymetrowi lub milimetrowi, w tym przypadku mogło by być 25 pixeli

1

Jeśli chcesz żeby rysowanie było bardziej 'zaawansowane' możesz sobie zdefiniować Prostokąt (Rectangle) w którym będzie wykonywane rysowanie i renderowanie siatki tylko na jego obszarze. I w ogóle myślę że możnaby pomyśleć o stworzeniu klasy "wykres" która odpowiadałaby za wykonywanie wszystkich obliczeń związanych z rysowaniem.

0

Z ta klasą i pomysł na prostokąt i rysowanie w nim tego wszystkiego brzmi dobrze, ale bardziej potrzebowałabym pomocy odnośnie samego kodu, bo ja nie mogę wpaść na pomysł jak narysować układ współrzędnych ze skalą na osiach X i Y i podpisami że tu na osi przyjmuje się wartość 1, tutaj 2, itd...i czy to potem by w ogóle się pokrywało z wykresami wielomianów, ktore program miałby rysować?

1

Do napisania (właściwie narysowania) skali użyj metody Graphics "DrawString()", jest naprawdę prosta w użyciu. Żeby się pokrywało z wykresami musiałbyś gdzieś zapisać co ile pikseli na ekranie wartość argumentu wykresu się zwiększa. Może pokaż co na razie napisałaś to będzie prościej coś podpowiedzieć.
'
Edit: no chyba że tajne oczywiście ;)

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