A computer graphics system interpolator for generating pixel values in a
destination image of an object in a destination image space. The pixel
values in the destination image are generated from a source image of the
object in a source image space. The destination image and the source image
each typically comprise a two-dimensional array of evenly-spaced pixels. A
pixel in the destination image is transformed to an associated resampled
point in the source image space. Intermediate pixel values are determined
by interpolation between horizontally-aligned neighbor pixels in the
source image space. Neighbor pixels in the same row as the resampled point
in the source image space are determined. The distance between the pixels
in the source image space are normalized to a value of unity and a first
distance between the resampled point and an immediately adjacent
neighboring pixel is determined. Distances between the resampled point and
the other neighboring pixels in the same row are determined and expressed
as a function of this first distance. Cubic interpolation is then
performed using these derived distances to arrive at an intermediate pixel
value. This is repeated for all rows in a sample image space, each
resulting in an intermediate pixel value. A value of the first resampled
point in the destination image is then determined by a single vertical
cubic interpolation between the intermediate pixel values in the same
manner as the horizontal interpolation.
Ein Computergraphik-System Interpolator für das Erzeugen von von Pixelwerten in einem Bestimmungsortbild eines Gegenstandes in einem Bestimmungsortbildraum. Die Pixelwerte im Bestimmungsortbild werden von einer Karte in Primärsprache des Gegenstandes in einem Karte in Primärspracheraum erzeugt. Das Bestimmungsortbild und die Karte in Primärsprache jedes enthalten gewöhnlich eine zweidimensionale Reihe von den evenly-spaced Pixeln. Ein Pixel im Bestimmungsortbild wird zu einem verbundenen resampled Punkt im Karte in Primärspracheraum umgewandelt. Zwischenpixelwerte werden durch Interpolation zwischen horizontal-ausgerichteten Nachbarpixeln im Karte in Primärspracheraum festgestellt. Nachbarpixel in der gleichen Reihe wie resampled Punkt im Karte in Primärspracheraum werden festgestellt. Der Abstand zwischen den Pixeln im Karte in Primärspracheraum werden zu einem Wert der Einheit normalisiert und ein erster Abstand zwischen resampled Punkt und ein sofort angrenzendes benachbartes Pixel wird festgestellt. Abstände zwischen resampled Punkt und die anderen benachbarten Pixel in der gleichen Reihe werden als Funktion dieses ersten Abstandes festgestellt und ausgedrückt. Kubikinterpolation wird dann mit diesen abgeleiteten Abständen, zu einem Zwischenpixelwert zu kommen durchgeführt. Dieses wird für alle Reihen in einem Beispielbildraum, jeder wiederholt, der in einem Zwischenpixelwert resultiert. Ein Wert vom ersten resampled Punkt im Bestimmungsortbild wird festgestellt dann durch eine einzelne vertikale Kubikinterpolation zwischen den Zwischenpixelwerten auf die gleiche Weise als die horizontale Interpolation.