Bresenham Absolutbetrag

  • Hallo :-),

    Ich habe eine Frage zum Bresenham Algorithmus.
    Mir liegt folgender Quellcode vor, der sich ja im 8 Oktanten befindet. Aber wie würde dieser sich ändern wenn ich die Betragsfunktion bei deltaX und deltaY weglassen würde? Zur Auswahl stehen mir die Antworten: Linien im ersten Oktanten werden gezeichnet? Linien im 5 werden in den Ersten abgebildet? und Linien im 8 werden korrekt dargestellt?

    Wenn der Betrag weg fällt ist es doch richtig das ich x1 x0 und y1 y0 tauschen muss. Und würde dann doch trotzdem im 8. Oktanten zeichnen?

    Danke für eure Hilfe


    void zeichneLinie(x0,y0,x1,y1){

    int deltaX = abs(x1-x0);
    int deltaY = abs(y1-y0);

    int Q = 2*deltaY-deltaX;
    int Qdown = 2*deltaY;
    int Qup = 2*(deltaY-deltaX);

    int y=y0;

    for(int x = x0: x<= x1; x++){

    setPixel(x,y);

    if(Q < 0){
    Q=Q+Qdown;
    }else{
    Q=Q+Qup;
    y--;
    }
    }
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!