luisf
Março 18, 2007, 2:01pm
#1
Ae galera to com o seguinte problema eu tenho q fazer uma aplicação q o usuario clique em dois pontos na tela e a aplicação desenha uma reta so q eu n sei como fazer pra ir pintando ponto por ponto como eu faço isso no java ?
alguem tem alguma ideia ?
abraços
porque não desenha uma reta normalmente, com o método drawLine(int x1, int y1, int x2, int y2) da classe Graphics?
luisf
Março 18, 2007, 5:33pm
#3
pq eh trabalho de faculdade aih n pode usa esses metodos…
Como não pode???, alguem me explica como desenhar numa janela sem usar o metodo paint(Graphics g)…
luisf
Março 19, 2007, 12:19pm
#5
hauhua eu posso usa o paint logico so n posso usa os drawLine(int x1, int y1, int x2, int y2) da vida… mais ja to conseguindo aqui pintando ponto a ponto
Não entendi, porque não pode usar o drawline?
Ou o professor prefere que você use o Java2D e a classe Line2D ?
lavh
Março 19, 2007, 1:20pm
#7
voce tem que usar o algoritmo de Bresenham(nao sei se eh assim que se escreve). Procura no Google que voce acha o algoritmo.
Dai usa o metodo paint pra pintar cada ponto…
lavh
Março 19, 2007, 1:21pm
#8
[quote=ViniGodoy]Não entendi, porque não pode usar o drawline?
Ou o professor prefere que você use o Java2D e a classe Line2D ?[/quote]
Provavelmente deve ser pq eh um trabalho de Computacao Grafica, entao ele precisa desenhar a reta na mao para aprender…
luisf
Março 19, 2007, 6:18pm
#9
[quote=lavh][quote=ViniGodoy]Não entendi, porque não pode usar o drawline?
Ou o professor prefere que você use o Java2D e a classe Line2D ?[/quote]
Provavelmente deve ser pq eh um trabalho de Computacao Grafica, entao ele precisa desenhar a reta na mao para aprender…[/quote]
eh isso msm lavh valeu ae vo da uma procurada
Bresenham's line algorithm is an algorithm that determines the points of an n-dimensional raster that should be selected in order to form a close approximation to a straight line between two points. It is commonly used to draw line primitives in a bitmap image (e.g. on a computer screen), as it uses only integer addition, subtraction and bit shifting, all of which are very cheap operations in standard computer architectures. It is an incremental error algorithm. It is one of the earliest algorith...
Xiaolin Wu's line algorithm is an algorithm for line antialiasing.
Xiaolin Wu's line algorithm was presented in the article "An Efficient Antialiasing Technique" in the July 1991 issue of Computer Graphics, as well as in the article "Fast Antialiasing" in the June 1992 issue of Dr. Dobb's Journal.
Bresenham's algorithm draws lines extremely quickly, but it does not perform anti-aliasing. In addition, it cannot handle any cases where the line endpoints do not lie exactly on integer points of the...
luisf
Março 19, 2007, 10:50pm
#11
[quote=luisf][quote=thingol]http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
http://en.wikipedia.org/wiki/Xiaolin_Wu's_line_algorithm[/quote]
valeu pela ajuda!!!
ja to conseguindo faze aqui :D[/quote]
Olá!
Também estou precisando fazer um trabalho no mesmo formato.
Preciso desenhar a reta na unha, não posso usar o DrawLine.
La no post vc informa que ja ta conseguindo desenhar ponto a ponto.
Como esta fazendo?
O algoritmo eu ja sei, so ta faltando algum método para setar (pintar), cada ponto no frame.
Pode me ajudar?
Acho que o professor quer ilustrar a utilização da geometria (ramo do conhecimento) na computação gráfica…
Se for o caso, implemente a equção da reta…Depois, em uma interface, colha os parâmetros da reta. Dentro de um loop itere do valor inicial de X até o valor final de x, aplicando a equção da reta a esses x´s, você obtém um y para cada um. Tendo as coodenadas x e y de cada iteração você tem um ponto…É só plotar cada um deles…
Fiz isso uma vez, de forma independente, só pra ver a diferença entre uma reta feita na unha e uma feita pela implementação Java (primitiva gráfica)…
E como a fênix, o tópico ressurge!
err…Desculpem…Não tinha visto que o tópico já estava datado…
Foi mal ai…