n'Abend,
gegeben sei eine Menge an Punkten xn, yn
points[x1] = y1
points[x2] = y2
points[xn] = yn
points[x1000] = y1000Zu erwähnen wäre noch, dass x die Zeitachse repräsentiert, y eine Anzahl an Objekten (es handelt sich hierbei um eine Lebens-Simulation und ich möchte den Anstieg und den Niedergang einer Population anhand einer Kurve darstellen.
muss es unbedingt eine Kurve sein, oder ist eine andere graphische Darstellung ebenso brauchbar?
points[0] = 1 // bei Sekunde null gibt es nur ein Objekt
points[1] = 2 // nun sind es schon zwei Objekte
points[2] = 4 // nun sind es schon 4 Objekte
points[3] = 2 // nun sind es nur noch zwei Objekte (zwei sind schon gestorben)
Würde ich als Balkendiagramm darstellen - über jedem x-Wert ein Balken in der Höhe des y-Werts.
Wenn man das Diagramm skalieren muss, so dass mehrere x-Werte auf ein Pixel in der Horizontalen kommen, ist natürlich die Frage, welchen der zugehörigen y-Werte man zur Darstellung auswählt.
In diesem Fall würde ich einen Balken in der Höhe des kleinsten y-Werts in kräftiger Farbe anzeigen, und diesen Balken z.B. in schwächerer Farbe bis zum größten y-Wert fortsetzen.
Das ganze möchte ich in einer Kurve festhalten. Mein Problem ist nun, dass ich ja viel zu viele Kurvenpunkte habe, um zum Beispiel eine schöne Bezierkurve zu zeichnen. Ich müsste sicherlich Punkte aussortieren.
Punkte aussortieren und dann eine Kurve hineininterpolieren halte ich für schwierig. Dann schon eher einen Ausflug in die Statistik, intervallweise eine Art gewichteten Mittelwert bilden. Oder einen "langsamen" Tiefpass über alle Punkte legen.
So long,
Martin
Niemand lebt allein von seinen Träumen.
Aber wer träumt, lebt noch.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(