Skip to content

Ellipse

Generates an elliptical shape with independent horizontal and vertical sizing.

Category: Shapes Menu path: Shapes > Ellipse

Ports

PortTypeDirectionDescription
outshapeoutputEllipse shape data

Parameters

ParamTypeDefaultDescription
sizeXscalar200Horizontal diameter in pixels
sizeYscalar200Vertical diameter in pixels

Expose Channels

When enabled (E button on node header), adds input ports that override params via edge connections:

PortTypeOverrides
sizeX_inscalarsizeX
sizeY_inscalarsizeY

How It Works

Generates a closed elliptical path centered at the origin in local space. Unlike Circle (which uses a single radius), Ellipse defines its shape using independent horizontal and vertical diameters. When sizeX equals sizeY, the result is a perfect circle. The shape is pure geometry data (no GPU allocation) and must be rasterized via DrawShape to produce a visible image.

Usage Examples

Basic: Draw an oval

Ellipse -> Transform2D -> DrawShape -> Output. Set sizeX to 300 and sizeY to 150 for a wide oval.

Animated squash and stretch

Keyframe sizeX and sizeY inversely (one grows as the other shrinks) for a classic squash-and-stretch animation.

Procedural aspect

Connect separate scalar sources (Math, Noise, etc.) to the sizeX_in and sizeY_in expose channels for independently driven axes.

Tips

  • For a perfect circle, set sizeX and sizeY to the same value -- or just use the Circle node, which is simpler.
  • Shapes are centered at the origin. Use Transform2D for all positioning and rotation.
  • All params are keyframeable for animation.
  • Circle -- single-radius circle (simpler when you need a perfect circle)
  • Rectangle -- rectangular shape with optional corner rounding
  • Transform2D -- positions and scales the shape in the composition
  • DrawShape -- rasterizes shapes to pixels with fill/stroke

Caddis — professional motion design.