Skip to content
All projects
Computer Graphics/2025

Beier-Neely Image Morphing

A computer graphics experiment in line-pair warping, coordinate systems, interpolation, and artifact reduction.

C++EigenComputer GraphicsImage Processing
line pairs
26
frames per test
31
morph studies
5

Project note

This project implements the core Beier-Neely morphing pipeline: interpolate corresponding line pairs, warp each source toward an intermediate geometry, and dissolve the two color fields into a new frame. The character study uses 26 line pairs to control both broad silhouette changes and local features.

The most important work happened in debugging. Image matrices use row-column coordinates while the algorithm is expressed in geometric x-y coordinates; mixing the two produced incorrect warps. A second source of visible jitter came from inconsistent conversion of floating-point positions to integer pixels. Applying a consistent clamp and rounding strategy made translation substantially smoother.

Linear interpolation produced the least distortion among the tested intermediate-line strategies. Translation became stable, while scale and rotation exposed remaining limitations in the warp function. The case study keeps those imperfect results because they make the engineering process—and the next questions—visible.

The character sequence also retained a small ghosting artifact around the left leg. Comparing a single leg line pair with a denser set of eight produced nearly the same result, suggesting that the remaining issue lived in the warp behavior rather than simply in line-pair count.

Migrated experiment

Warp field + four transformation studies

Abstract Beier-Neely line-pair warp field between two original geometric forms
Abstract warp fieldOriginal replacement visual · line-pair geometry at t = 0.50
TranslationStable after clamp + rounding fixes
Translate + scaleCombined transformation test
2D scaleWarp behavior under scaling
RotationAn imperfect result that exposed a warp-direction issue

Archive note: the old character source images are not republished because their original credit and publication license were not retained. The abstract field above was created for this archive; the four geometric videos preserve the implementation and debugging record without the third-party artwork.