View Full Version : Bresham Algorithmus -> Polygon Problem
Hi @ all,
Kurzgesagt bei mir funktioniert das Polygon nicht um genauer zu sein die Linie über 45Grad d.h. die linie rechts und links.
Und beim Rechteck passen sich die senkrechten linien nicht genau an die horizonalen linien an,d.h sie sind leicht verschoben.
Ich würde mich riesig freun wenn sich das mal jem. anschaun könnte und mir einen Lösungsansatz oder gleich die Lösung :D geben könnte *g*.
THX
MfG TrabiGo
gleiches problem wie bei jemand anderem:
'm' muß eine fließkomma-zahl sein, kein integer !!!
Danke :) Ich werd gleich mal schaun ...
MfG TrabiGo
Also ich doch noch ein problem ... jetzt weiß ich zwar das m eine float sein muss .. hab ich auch umgeändert ... und dx und dy werden jetzt auch also float umgewandelt ...
in der schleife dann beim berechnen der position des punktes ... muss ja dann trotzdem immer höhre als eins und kleiner als eins rauskommen ....
also entweder hab ich das ganze falsch verstanden .. oder ich versteh das im mom nicht so ganz ....
ich würde mich über eine ausführlichere erklärung freun .. oder einen link zu einem post wo es ausführlich erklärt ist ...
es fehlt eigentlich nur das .. die testatoffs funktionieren .. die atoffs gehen alle ... nur das nicht ....
bitte .. danke :)
mfg TrabiGo
es war nur das zu machen, um deinen source lauffähig zu machen:
m = ((float)dy / (float)dx);
hab ich gemacht ... kommt das bei dir dann richtig raus ?
ich hab auch schon mal die klassen gelöscht und alles neu kompiliert ... da gings auch nicht ... also ... hmmm jetzt versteh ich nix mehr :(
danke für eure deine hilfe
mfg TrabiGo
splintah
14-10-2002, 18:34
fonzt bei mir auch
zumindest schaut es gut aus
@masdah splintah
ich hab keine ahnung wieso es nicht geht ... ich hab das so wie oben erwähnt eingesetzt ... float m = 0 initialiesiert wenn ich das als int mach damit er rundet hätt ich mir nur so nebenbei gedacht .. funktioniert es nicht ...
das problem ist ja nur .. das beim rechteck die senkrechten linien ein wenig verschoben sind ...
na ja .. blad muss ich eh abgeben ... dann ist es ja egal ... aber punkte oder als richtig wird es schon gewertet werden hoffe ich ... das is ja nur ein kleiner fehler eigentlich ...
mfg TrabiGo
Nur mal so rein interessehalber...wieso nehmt ihr Floats ? Es wurde doch erwähnt, daß ein Vorteil vom Bresenham is, daß er nur mit Integer arbeitet...
tschurlo
15-10-2002, 10:57
Na, wahrscheinlich deshalb, wenn man |m| ausrechnet, was eine Division zweier Integer ist, eine Kommazahl rauskommen kann.
Im eigentlichen Algo sind eh nur Integer.
lg
Hm, ich hab |m| net ausgerechnet, is glaub ich unnötig, ein einfacher Vergleich dy > dx tuts auch...
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.