Cg algoritmo de bresenham

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (347 palavras )
  • Download(s) : 0
  • Publicado : 28 de março de 2012
Ler documento completo
Amostra do texto
Frank’s Blog de SEO
FrankMarcel.com – SEO, Tecnologia e Informação
RSS Feed
Follow me on twitter.
Facebook
Desenhar Reta em Java – Algoritmo de Bresenham/DDA Inteiro
Autor:frankmarcel - 31 de julho de 2009Deixe um comentário! (5)Ver comentários!
Hail! É verdade, o objetivo é fazer deste, um blog de SEO, mas programação também está no sangue e eu gosto de variar otema, então lá vai: Algoritmo de Bresenham ou DDA Inteiro – o algoritmo para desenhar retas “na raça” – código em Java.
O objetivo deste algoritmo é reduzir o esforço computacional para sedesenhar uma reta, bem como reduzir erros de arredondamento e operações com ponto flutuante. E, de fato, o algortimo de Bresenham consegue fazer isso – ele se desenvolve sem nenhuma operação deponto flutuante, nenhuma variável numérica é do tipo float ou double e, também, o algoritmo não realiza divisões entre números inteiros.
Abaixo, o algoritmo para desenhar retas em Java e, nasequência, algumas explicações.
Algoritmo DDA Inteiro em Java (Bresenham) 1 2 3 4 5 6 7 8 9 10 11 | public void draw(Graphics g){ int x, y, erro, deltaX, deltaY; erro = 0; x = p1.x; y =p1.y; deltaX = p2.x - p1.x; deltaY = p2.y - p1.y; if((Math.abs(deltaY)>=Math.abs(deltaX) && p1.y>p2.y) ||(Math.abs(deltaY)<Math.abs(deltaX) && deltaY<0)){ x = p2.x; y= p2.y; deltaX = p1.x-p2.x; deltaY = p1.y-p2.y; } p1.draw(g); if(deltaX>=0){ if(Math.abs(deltaX)>=Math.abs(deltaY)){ for(int i=1;i<Math.abs(deltaX);i++){ if(erro<0){ x++; newPonto(x,y).draw(g); erro += deltaY; }else{ |
Detalhes sobre o DDA Inteiro de Retas
Como eu uso esse método?
Normalmente eu crio uma classe “Reta” com os atributos Ponto p1 e p2 (os pontosinicial e final da reta), o seu método construtor que recebe o ponto inicial e o final; e este método “draw” para desenhar a reta.
package re
tas.circulos.cg;

public class Bresenham {

}
tracking img