Papers
Topics
Authors
Recent
Search
2000 character limit reached

EfficientMorph: Fast Graph Morphing

Updated 12 February 2026
  • EfficientMorph is a suite of barycentric interpolation-based algorithms for transforming planar and toroidal graph drawings with smooth, crossing-free transitions.
  • It leverages unidirectional, piecewise-linear morphs using O(n) steps and sparse system solves to optimize both computational complexity and visual regularity compared to edge-collapse methods.
  • The framework extends to geodesic toroidal embeddings through per-vertex normalization, preserving topological features and ensuring reliable, efficient interpolation for graph animation.

EfficientMorph refers to a suite of efficient morphing algorithms and frameworks in graph drawing, geometry processing, and related computational fields—most precisely, to barycentric-interpolation-based algorithms for planar and toroidal graph morphing with provable complexity guarantees, as developed in the context of geometric graph transformations. The primary instantiation of EfficientMorph is based on the work of Angelini, Da Lozzo, Di Battista, Frati, and others, providing unidirectional piecewise-linear morphs between straight-line drawings (planar and toroidal triangulations) in optimal or near-optimal time and with improved visual regularity compared to prior edge-collapse strategies (Erickson et al., 2021).

1. Barycentric Interpolation Foundations

EfficientMorph leverages the barycentric interpolation paradigm pioneered by Floater and Gotsman, a generalization of Tutte's classical spring-embedding theorem. In the symmetric formulation, for a 3-connected planar graph GG with convex outer face, positive edge weights wuv=wvu>0w_{uv}=w_{vu}>0 are assigned, leading to the Laplacian system

v:(u,v)Ewuv(pvpu)=0\sum_{v:(u,v)\in E} w_{uv}(p_v - p_u) = 0

for each interior vertex uu, where puR2p_u\in\mathbb{R}^2 is the vertex position. Floater's extension replaces undirected edge weights with positive directed weights (dart weights) λuv>0\lambda_{u\to v} > 0, producing an asymmetric Laplacian L(λ)L(\lambda) and generalizing to

u(interior):uvλuv(pvpu)=0.\forall\,u\,(\text{interior}) : \sum_{u\to v} \lambda_{u\to v} (p_v - p_u) = 0.

The resulting strictly convex linear system (with boundary positions fixed or corresponding rows removed) yields a unique convex straight-line drawing.

2. EfficientMorph Algorithm for Planar Graphs

The central innovation is to create a morph between two isomorphic planar straight-line drawings Γ0\Gamma_0 and Γ1\Gamma_1 of a 3-connected planar graph GG (with the same convex outer face) through a sequence of O(n)O(n) unidirectional morphing steps, each defined by edge-by-edge interpolation of barycentric weights:

  • Compute weight vectors λ\lambda for Γ0\Gamma_0 and μ\mu for Γ1\Gamma_1 via mean-value coordinates (time O(n)O(n)).
  • For each internal edge e=(u,v)e=(u,v), update only the pair λuv,λvu\lambda_{u\to v},\lambda_{v\to u} to the corresponding μ\mu entries; each such update induces a unidirectional linear morph where all vertices move in parallel to the direction of ee in the current embedding (Lemma 3.1).
  • Each intermediate vertex position is computed by solving a sparse SDD-like linear system, L(λ)x=0L(\lambda)x=0, L(λ)y=0L(\lambda)y=0, which can be accomplished in O(nω/2)O(n^{\omega/2}) time by nested dissection (ω<2.373\omega<2.373 is the exponent for matrix multiplication).
  • For non-convex faces, extra diagonals are temporarily introduced to convexify, then weights on these diagonals are morphed to zero and dropped, guaranteeing O(n)O(n) total morphing steps.
  • No edge collapse (à la Cairns or Chambers et al.) is used; explicit edge topology is preserved throughout.

Summary of complexity:

Step Time per step Steps Total Time
Weight computation O(n)O(n) -- O(n)O(n)
System solve (per morph step) O(nω/2)O(n^{\omega/2}) O(n)O(n) O(n1+ω/2)O(n^{1+\omega/2})

All intermediate drawings are crossing-free and preserve convexity. The edge-by-edge interpolation produces smooth, natural morphs and avoids the collapse of large subgraphs into degenerate regions, a frequent issue in edge-collapse morphing.

3. Extension to Geodesic Toroidal Graphs

EfficientMorph generalizes to straight-line triangulations on the flat torus T=R2/Z2T = \mathbb{R}^2/\mathbb{Z}^2, yielding the first simple and visualizable morphs between geodesic embeddings:

  • For the torus, the barycentric system is modified to incorporate translation (winding) vectors: for each uu,

uvλuv(pvpu+τuv)=0,\sum_{u\to v} \lambda_{u\to v}(p_v - p_u + \tau_{u\to v}) = 0,

where τuvZ2\tau_{u\to v} \in \mathbb{Z}^2 records lattice crossings.

  • The system LλP=HλL^\lambda P = H^\lambda has rank n1n-1, solvable iff HλH^\lambda lies in the column space of LλL^\lambda. Arbitrary directed weights generally do not preserve this solvability.
  • EfficientMorph introduces a per-vertex scaling trick: compute a positive left null vector α\alpha so that αLλ=0\alpha L^\lambda = 0 and αHλ=0\alpha H^\lambda = 0 (per the matrix-tree theorem); rescale the dart weights for each outgoing dart from ii by αi\alpha_i. Now [LμHμ][L^\mu | H^\mu] has column sums zero, thus all convex combinations between initial and target (rescaled) weights stay solvable.
  • Morphing proceeds by interpolating between scaled weights and solving the corresponding sparse linear systems at arbitrary t[0,1]t\in[0,1], in O(nω/2)O(n^{\omega/2}) per query after O(nω/2)O(n^{\omega/2}) preprocessing.

This per-vertex normalization method ensures smooth, global-preserving morphs, overcoming the degeneracies and collapse seen in alternative toroidal schemes.

4. Algorithmic Pseudocode and Complexity

For planar graphs (convex-face version):

1
2
3
4
5
6
7
8
9
10
11
12
def MorphConvex(G_start, G_end):
    λ = barycentric_weights(G_start)
    μ = barycentric_weights(G_end)
    Γ = G_start
    output(Γ)
    for e in internal_edges(G):
        (u, v) = e
        λ[uv] = μ[uv]
        λ[vu] = μ[vu]
        Γ = solve_L(λ)
        output(Γ)
    output(G_end)

For toroidal graphs (convex-face case):

  1. Normalize translation patterns (ensure the starting and ending drawings are isotopic).
  2. Compute barycentric weights λ(0),λ(1)\lambda(0), \lambda(1).
  3. For t[0,1]t\in[0,1], set μ(t)=(1t)Scale(λ(0))+tScale(λ(1))\mu(t) = (1-t)\cdot Scale(\lambda(0)) + t\cdot Scale(\lambda(1)).
  4. Solve Lμ(t)P=Hμ(t)L^{\mu(t)}P=H^{\mu(t)} to determine vertex positions P(t)P(t).

Preprocessing the nullspace scaling for each initial/final barycentric weight vector is O(nω/2)O(n^{\omega/2}); any intermediate morphing step costs only O(nω/2)O(n^{\omega/2}).

5. Theoretical and Topological Implications

EfficientMorph's scaling strategy provides a constructive proof of geometric conjectures, notably Connelly et al.'s 1983 torus-triangulation conjecture:

  • The space of morphable weights forms a convex polytope, and the solution space LλP=HλL^\lambda P = H^\lambda is homeomorphic to the space of convex toroidal drawings modulo translations.
  • Consequently, the deformation space of any geodesic torus triangulation is homotopy-equivalent to T2T^2.

This aligns the combinatorial-algebraic structure of barycentric weights with the topological space of realizable embeddings, yielding a concise alternative to earlier nonconstructive or combinatorially heavy arguments.

6. Comparison with Prior Morphing Strategies

EfficientMorph departs from Cairns-style or Chambers et al.-style edge-collapse sequences, which often generate O(n)O(n) linear morphs but frequently collapse the global structure in intermediate states. EfficientMorph’s weight-interpolation produces “natural,” smooth morphs, maintaining both geometric regularity and computational simplicity. For toroidal morphing, it is notably the first to avoid region-collapsed intermediates and to enable interpolation fully within the space of convex geodesic triangulations, instead of detouring through nearly degenerate embeddings.

7. Applications and Potential Extensions

EfficientMorph is directly applicable to:

  • Interactive graph-animation systems requiring direct, stepwise, visually natural morphs between straight-line drawings.
  • Mesh processing in computational geometry, especially in geometric morphing that preserves face convexity.
  • Topological analysis of the moduli space of discrete geometric structures, where contractibility and homeomorphism arguments depend on parametrizations like barycentric weights.
  • Extensions to higher-genus surfaces, more general surface-embedded graphs, and physically motivated systems (e.g., spring energy minimization), contingent on further development of per-vertex scaling generalizations and the solvability of corresponding Laplacian systems.

EfficientMorph's complexity-optimality also makes it a benchmark for algorithmic graph morphing research and for the design of efficient, reliable geometric interpolation primitives in software libraries (Erickson et al., 2021).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to EfficientMorph.