carookee - group communication for you
Home / JavaForum / Java allgemein
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.279 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 296 von 2212 (13%) |<   <   >   >|

Autor DeaconFrost
Datum 10.10.05, 14:04
Betreff Re: MemoryImageSource und das Zeichnen einer Linie


In diesem Fall musst du IMHO mathematisch berechnen welche Punkte auf der Linie liegen. Das ganze ist also nicht so trivial (vor allem bei schrägen Linien).
Mittels Vektoren sähe das Ganze dann so aus:

p = (startX; startY) + k * (startX - endX; startY - endY)

Um die Punkte einer Linie zwischen Start- und Endpunkt zu erhalten, muss nun k zwischen 0 und 1 (inklusive) iteriert werden. Am schnellsten wird das gehen, wenn du das in 2 Gleichungen umformst:

p.x = startX + k * (startX - endX)
p.y = startY + k * (startY - endY)

Dann setzt du z.B. p.x auf einen festen Wert, rechnest k aus und benutzt dies dann, um das entsprechende p.y für diese x-Koordinate zu berechnen.
Wenn du entlang aller möglichen x iterierst (k muss zwischen 0 und 1 sein), erhältst du dann die dazugehörigen y-Koordinaten.
Allerdings gibt's noch den Spezialfall, dass die Linie auf der X-Koordinate liegt. startX - endX ist dann 0 (Null). Dann musst du dir noch etwas Anderes einfallen lassen.
Zudem gibt's noch das Problem, dass die Pixel recht grob sind, d.h. bei ganz leicht schrägen Linien (geringer Winkel). Hier ist startX - endX dann nahe 0 (Null). Hier müsstest du dann gleich mehrere Bildpunkte für eine x-Koordinate "einschalten", damit die Linie nicht unterbrochen wird.
Ich hoffe, ich konnte das einigermassen erklären... :-)




Diskussionsverlauf:
    Re: MemoryImageSource und das Zeichnen einer Linie
MemoryImageSource und das Zeichnen einer Linie

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com