Figur trójkąt java.

0

Witam,
Może mi ktoś pomorze wie ktoś jak zrobić trójkąt w javie? Zwykły trójkąt tak aby można było go przesuwać.
Liczne na pomoc. [browar]

0

najprościej narysować chyba 3 linie metodę drawLine(x_pocz, y_pocz, x_konc, y_konc) (obiekt Graphics)
przesuwanie polega na na zmianie wartości współrzędnych wierzchołków trójkąta i odrysowywanie boków trójkąta - metoda repaint() .

pozdr

0

napisz klase enkapsulujaca figure (ja tak z okregiem robilem)
bedzie ona miala konstruktor z trzech punktow, metode paintComponent(Graphics g) oraz np. metody do zmiany wspolrzednych.
w metodzie paintComponent bedziesz rysowal 3 proste.
paintComponent mozesz wywolywac dziedziczac po np. JPanel, przeslaniajac metode o tej samej nazwie. W niej stworzysz figure i bedziesz robil figura.paintComponent(g);

pozdrawiam

0

A wie ktos moze jak narysować trojkat wypelniajac go kolorem?

0

Zajrzyj do dokumentacji klasy Graphics, w szczególności zapoznaj się z metodą fillPolygon()

0

DZieki, pomoglo.

0

Hmm, hmm mam rowniez pewien problem dotyczacy trojkata. Otoz mam narysowany trojkat wlasnie dzieki funkcji fillPolygon(). CHcialbym jednak zeby ten trojkat obracal sie wokol jakiegos punktu A, ktory nie nalezy do tego trojkata.

Probowalem korzystac ze wzorow na sinus, cosinus, odpowiednich wspolrzednych, ale to nic nie dalo bo trojkat nie jest rysowany tam gdzie powinien. Wiem tez ze w javie wierzcholek osi jest w lewym gornym rogu (0,0),,, moze to jest jakis problem, ale ja tego nie umiem rozwiazac, ktos pomoze?

0

Wzory zapewne brałeś stąd: http://pcdevil.ovh.org/artykuly/kom2d/wsteppodstawy/wsteppodstawy.html

Są błędne :)

Powinno być:
x1 = (x - xu) * cos(a) - (y - yu) * sin(a) + xu
y1 = (x - xu) * sin(a) + (y - yu) * cos(a) + yu

Sprawdziłem, działa.

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