drawLine mit Gleitkommazahlen

Status
Nicht offen für weitere Antworten.

adouzi

Mitglied
Hallo,

ich möchte gerne auf dem Display eine Linie zeichnen lassen. Das ist ja kein Problem mit der Methode
Code:
g.drawLine()
. Die Koordinaten der Methode müssen Integer-Zahlen sein und genau das ist mein Problem. Ich möchte die Methode mit double- oder floa-Zahlen verwenden. Kann ich mein Ziel erreichen?
Ich danke euch im Vorraus
 

Marco13

Top Contributor
Indem du nach int castest...
Code:
float x0 = 1.23f;
float y0 = 2.34f;
float x1 = 3.45f;
float y1 = 4.56f;
g.drawLine((int)x0, (int)y0, (int)x1, (int)y1);
 

adouzi

Mitglied
nein, das nutzt mir nicht viel. Ich brauche auch die Nachkommastellen. Ich kann ja mit einem Wert multiplizieren (z.B. *100, wenn nur zwei Stellen nach dem Komma wichtig sind) diese Lösung passt mir auch nicht. Kann ich irgendwie das Display mit einem Koordinatensystem versehen, der auch Gleitkommazahlen versteht? Hilft das irgendwas?
 

Marco13

Top Contributor
Hm. Beim Zeichnen einer Linie werden Pixel eingefärbt...
800px-Bresenham.png

Und wie soll sich der Unterschied zwischen einer Linie, die bei (10,20) anfängt, und einer Linie, die bei (10,20.000123) anfängt auf dem Bildschirm bemerkbar machen?

Wenn es nur darum geht, den Zeichenbereich voll auszunutzen (also z.B. dafür zu sorgen, dass eine Linie von (0.0001,0.0001) bis (0.0002,0.0002) den ganzen Bildschirm ausnutzt) kannst du die Koordinaten vorher skalieren, aber ... das wolltest du ja auch nicht... hm.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben