Autor Beitrag
TomPIII866
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Do 01.05.08 18:26 
Hallo,

ich habe folgendes Problem:
Ich habe eine Canvas, auf der ich rote Linien habe.
Nun kann der Nutzer Koordinaten eingaben (Startpunkt 0,0), wohin er eine blaue Linie zeichnen möchte.
Nun soll das Programm vorher prüfen, ob die zu zeichnende blaue Linie eine rote kreuzt.
Wenn dies so ist, soll er die vom Benutzer eingegebenen Koordinaten mit den Koordinaten von dem Kreuzungspunkt der beiden Linien überschreiben.
So soll die blaue Linie dann nur bis zur Kreuzung mit der roten gezeichnet werden.

Wäre super, wenn ihr mir da helfen könntet! :)

Grüße!
Tom
passiv
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 270

WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
BeitragVerfasst: Do 01.05.08 19:08 
Erst mal die Frage: ist die richtung der linie vorherbestimmt?
wenn ja, dann: senkrecht, horizontal, diagonal, ...?

wenn senkrecht, einfach von oben bis unten durchlaufen und schauen (weiß nicht obs dafür ein scanline gibt)
horizontal gehts mit scanline (weiß aber nicht, was das macht ...)
diagonal würds auch noch mit durchlaufen gehn.

aber bei allen anderen richtungen schätz ich mal da kommst du um den Bresenham-Algorithmus nicht
herum.

und du wirst wohl links und rechts von der eigentlichen Linie auch überprüfen müssen, weil du sonst durch

_________________
Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
TomPIII866 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Do 01.05.08 19:19 
Hi!

Danke für die schnelle Antwort!
Stimmt, hätte ich mir erwähnen sollen:
Es sind nur verticale, horizontale und 45°-diagonale Linien zugelassen. :)