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