Autor Beitrag
chris85s
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 25.05.10 13:57 
Hallo,

ich habe eine Tabelle in der x-Werte und dazugehörige y-Werte vorhanden sind.
ausblenden C#-Quelltext
1:
2:
3:
4:
...
new double[] { 0.02.02.12.22.32.44.35.35.86.36.87.37.88.38.8 },
new double[] { -10.0, -10.0100.0200.0300.0365.0365.0320.0270.0220.0170.0120.070.020.0, -10.0 }
...


Also am x-Werte 0.0 erhält man den y-Wert -10.0, usw.

Ich benutzte diese Tabelle um eine Kurve zu zeichnen.
Das funktioniert soweit auch.

Nun möchte ich aber eine möglichst glatte Kurve.
D.h. die Ecken sollen verschwinden.
Ich denke die Interpolation wäre hier hilfreich.

Leider weiß ich nicht wie ich das in C# umsetzen kann.

Am Ende sollte es eben so sein, das ich eine Tabelle oder etwas ähnliches haben, welche nicht nur die oben angegebenen x-Werte und y-Werte hat, sondern auch x-Werte dazwischen mit dazugehörigen y-Werten.
Diese möchte ich dann zeichen.

Würde mich über eure Hilfe freuen.

mfg chris

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 25.05.10 14:33 
Die Mathematik dahinter ist dir klar? Für welche Interpolationsart hast du dich denn entschieden?

Zeig uns doch bitte, was du schon versucht bzw. dir überlegt hast und wo genau du hängen bleibst.

_________________
>λ=
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 25.05.10 14:46 
ja die Mathematik ist dabei kein problem.
eher die umsetzung.

mir würde für den anfang die lineare interpolation schon reichen.

leider habe ich bisher noch gar keinen ansatz dafür.
liegt wohl auch daran das ich nicht sehr programmier erfahren bin.

ich könnte mir natürlich möglichst viele werte mit stift und papier ausrechnen und dann in eine tabelle schreiben.
nur das wäre ziemlich langwirrig.

wäre eben gut wenn ich was programmieren könnte, wodurch ich schnell möglichst viele werte bekommen kann, damit die kurve glatt wird.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 25.05.10 14:55 
user profile iconchris85s hat folgendes geschrieben Zum zitierten Posting springen:
ja die Mathematik ist dabei kein problem.
eher die umsetzung.

mir würde für den anfang die lineare interpolation schon reichen.

Sicher, dass die Mathematik kein Problem ist? Mit linearer Interpolation bleiben die Ecken nämlich drin ;-) Ich würde eher in Richtung Spline gehen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 25.05.10 15:02 
ok spline ist natürlich besser.
aber darauf kam es mir noch nicht an.

wollte erstmal generel wissen wie ich das machen kann
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Mi 26.05.10 11:03 
noch jemand da der mir dabei helfen kann?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 26.05.10 11:11 
Wahrscheinlich geht es den meisten wie mir: Ich habe keine Ahnung, wo genau Du nicht weiter kommst. Was hast Du bisher versucht, welche Gedanken hast Du Dir gemacht?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 26.05.10 13:17 
Hallo chris85s,

schau dir mal die Graphics.DrawCurve()-Methode an: msdn.microsoft.com/e...ibrary/554h284b.aspx