Ivo Cavalcante (ivo-cavalcante) Publisher

Install latest/stable of Curv

Ubuntu 16.04 or later?

Make sure snap support is enabled in your Desktop store.

Install using the command line

Don't have snapd? Get set up for snaps.

Channel Version Published

Curv: a language for making art using mathematics

Curv is a programming language for creating art using mathematics. It's a 2D and 3D geometric modelling tool that supports full colour, animation and 3D printing.


  • Curv is a simple, powerful, dynamically typed, pure functional programming language.
  • Curv is easy to use for beginners. It has a standard library of predefined geometric shapes, plus operators for transforming and combining shapes. These can be plugged together like Lego to make 2D and 3D models.
  • Coloured shapes are represented using Function Representation (F-Rep). They can be infinitely detailed, infinitely large, and any shape or colour pattern that can be described using mathematics can be represented exactly.
  • Curv exposes the full power of F-Rep programming to experts. The standard geometry library is written entirely in Curv. Many of the demos seen on can be reproduced in Curv, using shorter, simpler programs. Experts can package techniques used on shadertoy as high level operations for use by beginners.
  • Rendering is GPU accelerated. Curv programs are compiled into fragment shaders which are executed on the GPU.
  • Curv can export meshes to STL, OBJ and X3D files for 3D printing. The X3D format supports full colour 3D printing (on, at least). These meshes are defect free: watertight, manifold, with no self intersections, degenerate triangles, or flipped triangles.

This snapped version doesn't support opening an external editor ("-e" command-line option); you have to open it yourself.

For example geometries, go to .

This is an UNOFFICIAL package, not related to the project. There are known issues with some GPUs setup; if you're interested in troubleshooting, feel free to contact me.

Developer website

Contact Ivo Cavalcante

Details for Curv

Last updated
23 June 2020

Share this snap

Generate an embeddable card to be shared on external websites.

Related blog posts

Where people are using Curv

Users by distribution (log)

Ubuntu 20.04
Ubuntu 18.04
Ubuntu 19.10
Ubuntu 16.04

Install Curv on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.

Is there a problem with Curv? Report this app