![]() |
Linie mit einem DDA-Algorithmus
Ich hab das Problem das ich eine Linie mit Hilfe des DDA-Algoritmus zeichnen soll.
Die Herleitung hab ich schon nur die Umsetzung macht mir Probleme. Leider sind bei mir alle Versuche das zu programmieren bis jetzt fehlgeschlagen... Würde mich sehr freuen wenn jemand dennn Quell-Text füt Delphi oder einige Tipps hat. MfG Tablette |
Re: Linie mit einem DDA-Algorithmus
Hallo und willkommen in der Delphi-Praxis :party:
kannst du mir mal sagen, was ein DDA-Algorithmus ist? ich hab bei Wikipedia nichts gefunden :gruebel: allgemein Linien zeichnen:
Delphi-Quellcode:
//zu einer bestimmten Pixelposition springen
form1.canvas.moveto(100,200); //Farbe der Linie einstellen form1.canvas.pen.color:=clred; //Breite der Linie einstellen form1.canvas.pen.width:=5; //Die Linie Zeichnen form1.canvas.lineto(100,400); |
Re: Linie mit einem DDA-Algorithmus
Also das selbe Problem hatte ich auch schon.
Hab aber schon rausgefunden das es soviel wie Digital Differenzen Analysator :warn: genannt wird. Mann berechnet die linie in Treppenform und ob es treppe nach oben oder rechts geht entscheidet der Anstieg... gibt dann zwei verschieden formeln für anstieg größer als 1 und kleiner als 1. aber weiter weis ich auch. |
Re: Linie mit einem DDA-Algorithmus
ich weiß zwar nicht was du meinst aber du könntes "manuell(selbst)" ein line mit einer bzw. zwei Forschleifen bestimmt zeichen.
weißt du wie ich meine ?
Delphi-Quellcode:
for x:=0 to 10 do // horizontale linen
canvas.pixles[0,x]:=clred for y:=0 to 10 do canvas.pixles[y,0]:=clred // Vertiklae linen und soweiter schgräe linen kannst du so auch zeichnen... |
Re: Linie mit einem DDA-Algorithmus
edit:
da mich das auch intrisiert habe ich mal mit googel danach gesucht, hier ein paar links: ![]() erstaunlich wie wengit ich gefunden habe.... aber sowie ich es verstanden habe ist das das prinzip was ich oben gezeigt habe *G* |
Re: Linie mit einem DDA-Algorithmus
Windows bietet selber die Möglichkeit Linien eigenen Styles zu zeichnen in dem man dem DDA Algorithmus der GDI einfach eine CallBack Procedure übergibt, die sich um das setzen der Pixel kümmert. Die Funktion der WinAPI heisst dabei LineDDA() - wer hät's gedacht.
Ein Beispiel dazu gibt es ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz