Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Splinefunktionen ohne Knicke

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.09.2003, 15:24 Uhr
~Slayer
Gast


Tag,

das mit dem Spline hab ich jetzt geblickt (PolyBezier).
Nur zeichnet die Bezierfunktion ja jeden Spline durch 4 Punkte (Anfangspunkt = vorheriger Punkt, 2 Kontrollpunkte und einen Endpunkt).
Deshalb gibt es zwischendurch Knicke.
Hat jemand schon Erfahrung damit gesammelt (vielleicht sogar schon ein Programm zum Anzeigen von Funktionen geschrieben welche diese rund zeichnet), wie man mit PolyBezier() Funktionen(Splines) ohne Knicke zeichnen kann? (Ich möchte auch ganzrationale Funktionen z.B 3x^3-2x ohne Knicke zeichnen!)
Ich bin auch offen für Alternativen die funktioneren!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.09.2003, 17:38 Uhr
~Slayer
Gast


Kann mir denn hier keiner helfen??????????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.09.2003, 18:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja eine rundung kriegt man aus linien nur wenn du noch mehr kontrollpunkte machst...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.09.2003, 18:51 Uhr
~Slayer
Gast


Die PolyBezierFunktion akzeptiert aber nur 2 Kontrollpunkte!
Oder wie meinst du das? Wenn du ein funktionierendes Programm geschrieben hast mit dem man Graphen zeichnen kann, dann sag mir bitte wie du es gemacht hast!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.09.2003, 18:55 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


bei splines funktioniert das normalerweise so, das mehrere Punkte miteinander verbinden willst und zwischen zwei punkte jeweils ein Polynom dritten gerades legst.
damit hast du immer zwei freiheitsgerade.
die knicke bekommst du dann raus wenn du die ableitungen gleich setzt

angenommen du wechselst von der funktion f nach g
Es muss dann gelten das f´(x) im "Punktende" = g´(x) im Punktanfang
und f´´(x)==g´´(x)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.09.2003, 19:55 Uhr
~Slayer
Gast


Kannst du mir mal den Code posten? Ich hab nämlich keine Ahnung wie ich das anstellen soll!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.09.2003, 20:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


tut mir leid ich habe damit noch nie gearbeitet (und dementsprechend keinen code dazu) aber wennn es mit den Polybeziers nicht geht könntest du dir das gleichungssystem aufstellen und lösen. Du musst quasi die koeffizienten für Polynome dritten grades berechnen

Wenn du die hast könntest du jeden Punkt einzeln berechnen und mittels SetPixel setzen. Dann sollten die Linien so aussehen wie du es willst
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: