Jump to content

Recommended Posts

Posted (edited)

Boas,

Estou a tentar desenhar uma grafo com um formatado matricial, mas pra já só consegui desenhar os pontos (cada ponto é um vértice do meu grafo) porque não consigo por as linhas direitas. Este erro é porque as linhas que ponho passam do vértice final.

O código que tenho para desenhar os vértices é o seguinte:

public void draw(Graphics g) {
	g.setColor(Color.GREEN);
	int x = 0, y = 0;
	int deltay = this.getDrawPanel().getHeight() / (this.avenidas + 1);
	int deltax = this.getDrawPanel().getWidth() / (this.ruas + 1);
	for (int linha = 0; linha < this.avenidas; linha++) {
		y = (linha + 1) * deltay;
		for (int coluna = 0; coluna < this.ruas; coluna++) {
			x = (coluna + 1) * deltax;
			g.fillOval(x, y, 10, 10);
		}
	}
}

Alguém me pode dizer como faço as linhas?

Edited by Baderous
geshi
Posted

sabes que a representação matricial de um grafo é uma matrix certo ?

exemplo:

N1 : ligações >> N3(20)

N2 : ligações >> N3(10)

N3 : ligações >> N1(20), N2(10)

apresentação matricial

   | N1 | N2 | N3
----+----+----+----
N1 | -- | -- | 20 |

N2 | -- | -- | 10 |

N3 | 20 | 10 | -- |
IRC : sim, é algo que ainda existe >> #p@p
Posted

Sim eu sei. Eu criei um grafo matricial 3*3 como o colocas-te consigo desenhar os 9 nodos do grafo só não consigo é desenhar no meu JPanel as linhas que representar as ligações entre os nodos. neste momento o meu desenho esta assim:

o   o   o
o   o   o
o   o   o

e quero que fique assim:

o__o__o
|	  |	  |
o__o__o
|	  |	  |
o__o__o

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.