Polar Transform

PolarTransform maps Cartesian ↔ polar, enabling radial edits, cat’s eye bokeh and Petzval-type lenses, high-fidelity resampling, and seam-free polar transformations.

First submitted: 8 February 2026

Author: Marty Blumen

Website: https://www.martyblumen.com/

Compatible Nuke versions: 13.1 or later

Compatibility: Windows

PolarTransform: Technical & Artist Overview

PolarTransform is a high-fidelity coordinate-space operator mapping between Cartesian (x, y) and polar (r, θ) coordinates. By linearizing rotational structure, it allows blurs, transforms, and procedural modulation to act radially or angularly without per-pixel rotations or repeated resampling. Both unwrap (Rect → Polar) and restore (Polar → Rect) modes are supported, with radius normalization. Optional Fix Seam adds padding and wrap-around sampling to maintain continuity at the angular seam.

The transformation introduces non-uniform sampling density near the pole. To minimize aliasing and preserve detail, the node offers Nearest, Bilinear, Bicubic (Catmull-Rom), and 8×8-tap Lanczos-windowed sinc (64 samples per pixel) filters. Implemented in BlinkScript with GPU acceleration, it computes inverse mappings, clamps edges, and applies seam-fixing padding to avoid foldover artifacts. Mild ringing may appear near high-contrast edges. Currently, only RGBA channels are processed; additional passes are needed for depth, motion, or AOVs.

Artist Usage:
Use PolarTransform to unwrap circular highlights for creating cat’s eye bokeh effects. In the polar domain, you can stretch, distort, or stylize highlights and radial elements before restoring them to Cartesian space. The Fix Seam option ensures smooth continuity across the angular wrap, preventing visible seams. This workflow allows predictable, high-quality radial edits without introducing geometric distortion or sampling artifacts.

SD 3-Clause License

Copyright (c) 2026, Marten Blumen
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of Marten Blumen nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

or register to download or rate.

Comments

or register to join the conversation.

Download Verification