Moritz G. schrieb:
> Ich habe Polynome zu berechnen. Die Quellwerte und der Zielwert sind
> (unsigned) int. Das Ergebnis passt für alle Eingaben in int.
Vielleicht hülf bereits eine andere Darstellunf des Polynoms.
Die gewählte Darstellung hat den Nachteil, daß auch dann, wenn das
Endergebnis nicht aus dem Wertebereich fällt, dies für
Zwischenergebnisse gelten kann.
Mit der o.g. Nebenbedingung bietet sich eine Darstellung mit
Bernsteinpolynomen als Basis an anstatt 1,x,x²,x³ als Basis.
Der Basiswechsel ist einfach eine lineare Transformation die
vorberechnet werden kann, da die Koeffizienten wohl bekannt sind.
Als x-Koordinaten der Kontrollpunkte ergeben sich damit
und da bekannt ist, daß die zugehörigen y-Koordinaten alle im Intervall
[y0,y1] liegen, liegt das Kontrollpolygon komplett im durch
(x0,y0), (x0,y1), (x1,y1), (x1,y0)
aufgespannten Rechteck.
Dies wiederum bedeutet, daß, kein Zwischenergebnis überläuft -- falls
man das Polynom nach De-Casteljau auswertet :-)
http://de.wikipedia.org/wiki/De-Casteljau-Algorithmus