Ich muss eine Ellipse beliebiger Größe und Ausrichtung Pixel für Pixel zeichnen. Es scheint ziemlich einfach zu sein, eine Ellipse zu zeichnen, deren Haupt- und Nebenachsen mit der x- und y-Achse ausgerichtet sind, aber das Drehen der Ellipse um einen beliebigen Winkel scheint komplizierter zu sein. Zu Beginn würde es vielleicht funktionieren, die nicht rotierte Ellipse zu zeichnen und eine Rotationsmatrix auf jeden Punkt anzuwenden, aber es scheint, als könnte das zu Rundungsfehlern führen, und ich brauche eine ziemlich hohe Präzision.Wie zeichne ich eine Ellipse mit willkürlicher Ausrichtung Pixel für Pixel?
Ist mein Verdacht über diese Methode richtig? Wie könnte ich diese Aufgabe präzisieren?
Ich programmiere in C++ (obwohl das nicht wirklich wichtig sein sollte, da dies eine eher algorithmische Frage ist).
Edit: wie David darauf hingewiesen hat, kann ich mich wirklich wundern, wie man Pixelinterpolation macht.
entdeckt wurde, ich glaube, das das übliche Risiko mit „vorwärts“ läuft Transformationen: Das Aliasing bewirkt, dass Sie Pixel in den transformierten Koordinaten "überspringen". – dmckee
Ja, deshalb habe ich nach einer anderen Methode gesucht. Gibt es irgendwelche guten Möglichkeiten, mit Aliasing umzugehen? – amc
Ja, ich meine, alles hängt davon ab, mit welcher Bibliothek du deine Zeichnung machst. Aber Aliasing wird jede Art von Rotation vermasseln. Ihre Frage sollte lauten: "Wie mache ich eine Pixelinterpolation?" :) –