the snake II
Erfahrenes Mitglied
Hallo zusammen,
ich habe in Delphi 6 auf Windows XP einen Funktionsplotter geschrieben, der ähnlich wie ein Vektor Programm arbeitet; im moment sind erst zwei Funktionstypen implementiert (<- nennt man das so?): lineare und quadratische Funktionen. Sie sind in Arrays gespeichert. Für jeden der beiden Typen existiert ein Array, das jeweils aus einer Klasse besteht (TLinearGraph und TSquareGraph).
Gezeichnet wird auf ein TCanvas Objekt einer TPaintBox (ehemals TImage; was ist eigentlich "besser"?)
Das ganze Funktioniert bisher auch ganz gut.
Doch hatte ich mir gedacht, dass man für die schönere (wenn auch evtl ungenauere) Darstellung einen Anti-Alias Filter schreiben könnte, der den Treppeneffekt lindert.
Bei Wikipedia habe ich etwas über die "Nyquist-Frequenz" gefunden, auf die im Zusammenhang mit Anti-Aliasing von Vektorgraphiken verwiesen wird.
Beim durchlesen des Artikels (hier der Link auf wikipedia.org) hab ich nichts verstanden.
Was ich jedoch verstanden habe ist, dass viele Filter die Technik verwenden, beispielsweise für eine Linie zu berechnen, in welchem Maße jedes Pixel von dieser Linie geschnitten wird (also wie lang das Liniensegment ist, dass das betreffende Pixel beinhaltet) und anhand dessen das Pixel mit einem niedrigeren bzw. höheren Farbwert füllt.
Allerdings fehlt mir hierbei der mathematische Ansatz.
Hat jemand vielleicht eine Idee das ganze durch eine Formel zu lösen, oder mir zu erklären, wie das etwa klappen könnte.
Oder ist das Ganze viel zu kompliziert für ein TCanvas?
Viele Grüße,
The Sanke II
ich habe in Delphi 6 auf Windows XP einen Funktionsplotter geschrieben, der ähnlich wie ein Vektor Programm arbeitet; im moment sind erst zwei Funktionstypen implementiert (<- nennt man das so?): lineare und quadratische Funktionen. Sie sind in Arrays gespeichert. Für jeden der beiden Typen existiert ein Array, das jeweils aus einer Klasse besteht (TLinearGraph und TSquareGraph).
Gezeichnet wird auf ein TCanvas Objekt einer TPaintBox (ehemals TImage; was ist eigentlich "besser"?)
Das ganze Funktioniert bisher auch ganz gut.
Doch hatte ich mir gedacht, dass man für die schönere (wenn auch evtl ungenauere) Darstellung einen Anti-Alias Filter schreiben könnte, der den Treppeneffekt lindert.
Bei Wikipedia habe ich etwas über die "Nyquist-Frequenz" gefunden, auf die im Zusammenhang mit Anti-Aliasing von Vektorgraphiken verwiesen wird.
Beim durchlesen des Artikels (hier der Link auf wikipedia.org) hab ich nichts verstanden.
Was ich jedoch verstanden habe ist, dass viele Filter die Technik verwenden, beispielsweise für eine Linie zu berechnen, in welchem Maße jedes Pixel von dieser Linie geschnitten wird (also wie lang das Liniensegment ist, dass das betreffende Pixel beinhaltet) und anhand dessen das Pixel mit einem niedrigeren bzw. höheren Farbwert füllt.
Allerdings fehlt mir hierbei der mathematische Ansatz.
Hat jemand vielleicht eine Idee das ganze durch eine Formel zu lösen, oder mir zu erklären, wie das etwa klappen könnte.
Oder ist das Ganze viel zu kompliziert für ein TCanvas?
Viele Grüße,
The Sanke II