Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.02.2006, 14:52 Titel: Punkte im Koordinatensystem zu Kurve verbinden |
|
|
Hallo,
angenommen ich habe ein Koordinatensystem mit ein paar Punkten, die ebenfalls in einem Array gespeichert sind.
Code: | TYPE Punkt
X AS INTEGER
Y AS INTEGER
END TYPE
Dim Punkte(...) as Punkt |
Diese würde ich jetzt gerne vom Programm zu einer durchgängigen Kurve verbinden lassen. Geht das? Die Punkte mit geraden Linien zu verbinden ist einfach, aber damit kann ich nix anfangen. Wenn die Kurve möglich ist, fehlt mir dazu wohl noch das mathematische Wissen...
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 04.02.2006, 14:57 Titel: |
|
|
Ich denke eine Bezier Funktion könnte da weiterhelfen. Ist jetzt nur mal ein theoretischer Anstoss wie ich da ran gehen würde. _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
otti

Anmeldungsdatum: 28.02.2005 Beiträge: 112 Wohnort: Wildberg
|
Verfasst am: 04.02.2006, 17:18 Titel: |
|
|
ich weiß jetzt nicht ob dir des weiterhilft:
wenn du irgenwie ne formel für die punkte hast (zB funktion(x)=2x)
oder so was ähnliches dann berechne einfach jeden pixel!
Das sieht dann aus wie ne echte kurve..
ansonsten viel spaß mit Splines und Interpolation
grüße otti |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 04.02.2006, 18:32 Titel: |
|
|
jo wirste mit interpolation machen müssen oder du baust dir so ne art magnet selber... nimmst praktisch den x-mittelpunkt der beiden punkte und berechnest daraus dann den y-wert aber halt nicht linear zu den punkten hingeschoben sondern einfach quadratisch oder so, musst einfach ma bisschen rumprobieren. dürfte einfacher sein als splines, sieht dafür nich so toll aus weil die kurve dann immer wie ein S vom einen zum nächsten punkt läuft aber jedes mal relativ waagrecht an dem punkt ankommt sprich wenns zwei punkte hintereinander hochgeht haste also nen sattelpunkt (geht hoch, wird grade und geht wieder hoch, weiß nich wie weit ihr in mathe seid ). _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 04.02.2006, 18:51 Titel: |
|
|
Unter der Voraussetzung, dass x(i+1) > x(i) für jedes i gilt (=die Kurve "kehrt" nicht plötzlich wieder nach links zurück, sondern man kann sie von links nach rechts zeichnen), wie dies z.B. bei zeitlich regelmässig erfassten Messwerten der Fall ist, eignet sich sonst die Methode der kleinsten Quadrate am besten.
Als Kurve eignet sich z.B. ein Polynom höheren Grades am besten, wofür man die Koeffizienten mit oben genanntem Verfahren berechnet (Lineare Gleichung). _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|