Darstellungsfehler? bei anliegenden Linien
Übersicht

EdlothiolBetreff: Darstellungsfehler? bei anliegenden Linien |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bastele grade an ein paar Funktionen für Verläufe u.Ä. Bei Verläufen, die einen bestimmten Winkel (also nicht einfach nur horzontal / vertikal) haben sollen, gibt es allerdings ein Problem. Ich benutze Line und setze Linien nebeneinander, aber es gibt komische Darstellungsfehler: Pixel, die schwarz bleiben. Eigentlich müsste jedes Pixel bedeckt sein, ich hab dazu auch andere Tests gemacht wo das klappte. Ich hab mal nen Screen davon hochgeladen, man achte auf das Quadrat in der zweiten Reihe ganz links:
Screenshot des Fehlers Das Quadrat in der ersten Reihe ganz rechts ist übrigens auch mit der Funktion gezeichnet, nur ist es da ein Winkel von 45° und nicht 60. Wenn ich die Schritte, in denen die Linien gezeichnet werden, auf 0.5 setze, werden es wieder weniger Punkte; wenn ich auf andere Werte unter 1 setze, bleibt es gleich. Ich bin am überlegen, ob ich meine eigene Linienfunktion mit einer einstellbaren Dicke schreiben soll, aber ich fände eine andere (und schnellere ![]() |
||
![]() |
Vincent |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo !
das is einfach nur pech ... die linienfunktion malt, wie du schon richtig erkannt hast, immer nur einen pixel auf der "kürzeren" strecke ( Xstrecke = |X1-X2| , Ystrecke = |Y1-Y2| ), aber dafür mehr pixel auf der "längeren" strecke. wenn der winkel der linie 45° beträgt, dann sind beide strecken gleich lang, also die pixelanzahl in horizontaler richtung gleich der pixelanzahl in vertikaler richtung. ... das ist dir sicher bereits klar. ... um das problem zu umgehen kannst du entweder die linienstärke erhöhen (mit eigener funktion) oder die linien noch näher nebeneinander malen, oder koordinaten der linien zufällig um 1 pixel variiren, oder gleich alles mit writepixelfast machen ... das is eh viel cooler, weil da da nich nur linienfarbverläufe, sondern auch farbferläufe von highlights etc machen kannst. |
||
Gott ist nicht mit uns ... weil er mit Idioten keine Gnade kennt ! |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
so einen farbverlauf würde ich anders machen:
pixel für pixel einen rechteck malen - über rotationsformel einen ursprungspunkt bestimmen. Wenn man X-Koordinate für Verlauf nimmt, dann kann man ganz leicht die Farbe bestimmen - so könnte man sauberste Verläufe machen - wäre dann natürlich langsamer als Line ![]() |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group