Welcome to the home site of some Gimp plugins


This site holds some Gimp plugins. Currently, they fall in four categories:

  1. Plugins to draw mathematically defined parametric curves approximately as Gimp paths (Bézier curves), with the aim of using only few control points.
  2. Plugins to do some transformations on Gimp paths (Bézier curves).
  3. Plugins to crop or slice paths.
  4. Plugins to draw tangents or normals to paths
  5. Plugins offering alternative interfaces to Gimp's Perspective Transform tool working on the active layer.
  6. Plugin to warp paths.
  7. Plugins to modify paths.

I. Plugins to draw parametric curves

The plugins are listed in the following table. The links in the table take you straight to pages containing daunting amount of instructions of usage, and a download button at the bottom.

Simple plugin for parametric curves Simple but probably quite adequate.
Simple plugin for polar curves Simple plugin for curves in polar coordinates.
Advanced plugin for parametric curves Better than the simple ones but more complicated.
Some specific parametric curves Lissajous
Rhodonea
Spiropath

The first three plugins are general-purpose programs. They can be applied to draw parametric curves from user-defined mathematical formulas. Each of the them is meant to be invoked interactively in Gimp's GUI. Each one offers two methods to feed the inputs. One way is to type the inputs in the fields of the GUI. But alternatively the inputs can be fed in a user-written file; this is a little more difficult way but definitely much better: it gives larger possibilities with the cost of little Python programming, and it is the only way to save the inputs since otherwise no option for saving presets exists. When you download any of the three plugins, you receive in the .ZIP file also a file doc.pdf which describes the plugins in detail and presents examples.

From the general-purpose advanced plugin some ready-made plugins are derived for drawing some specific curves. Currently there are: Lissajous, Rhodonea and Spiropath.

The simple plugins

To download the simple plugins, go to Simple Parametric Curves and scroll down to the Download section. Clicking the download button you obtain a .ZIP file containing all that is needed for the two simple plugins. The same page contains some instructions but the best help you will find in the file doc.pdf  included in the .ZIP file.

The more advanced plugin

To download the advanced plugin, go to Parametric Curves and scroll down to the Downloads section. Click the button saying "Click to download the plugin Parametric Curves as a .ZIP file".

The same page contains some instructions. You might glance at the sections "The general view" and "How to apply the plugin in the simple way", but you had better to ignore the sections about "advanced inputs" until later. Recall that the .ZIP file includes the documentation file doc.pdf.

The specialized plugins below were built around the code of the advanced plugin (with considerable amount of hand-work), so this way to use it may turn out to be the main usage of it.

Applications: some specific curves

Currently we have three special curve-drawing plugins, Lissajous, which draws Lissajous curves, Rhodonea, which draws rose-like curves, and Spiropath, which draws spirograph-like curves, all as Gimp's paths. To download, go to Applications and choose the only Download button there; it will download all three as a .ZIP file.

II. Plugins to transform paths

We have here several plugins to transform Gimp paths. To download them, go to Path transformations.

Transform a path by an affine map Very basic plugin: affine transformations on Bézier curves.
Transform a path by a Bézier arc A path is transformed by a conformal map constructed from a user-supplied Bézier arc.
Transform a path by a Moebius map
A path is transformed by a Möbius map. Actually there are four plugins; three are designed to allow the user to control the pole and/or the inverse pole.
Transform a path by a Bezier arc quadrilateral A path is transformed by a conformal map constructed from a user-supplied Bézier path (curved quadrilateral). In fact, two plugins, easy and advanced.
Fit a path in a triangle A path is translated and fitted in a given triangle without rotations or distortions.
Fit a path in a convex quadrilateral A path is fitted in a given convex quadrilateral via a projective transformation, so distorted.
Convert a path to polar coordinates An analog of Gimp's filter Image>Distorts>Polar coordinates but working with paths instead of images.
Transform a path by exponential map A path is transformed by the complex exponential map, viewing the plane as the complex number plane.

III. Plugins to crop or slice paths

There are four plugins to crop and two plugins to slice Gimp paths. To download them, go to page on cropping paths.

Crop path by circle Crop a path by a circle, given as a path (either a diameter or the center and one point).
Crop path by convex polygon
Crop a path by a convex polygon, given as a path.
Crop path by general selection Crop a path by a general selection (not necessarily rectangular). May be slow.
Crop path by rectangle
Crop a path by a rectangle, such as a rectangular selection (or one of three more choices).
Slice path by guides
Slice a path by guides.
Slice path by lines Slice a path by straight line segments, given as strokes of another path.

IV. Plugins to draw tangents or normals to paths

There are five plugins to draw tangents or normals to Gimp paths. To download them, go to page on drawing tangents to paths.

Bounding box
Draw the bounding box of a path.
Common tangent or normal between two paths Draw one common tangent or normal between two paths. The user gives a line segment close to where the drawn tangent/normal should be.
Parallel tangents or normals
Draw tangents or normals to a path, parallel to a given line segment.
Tangents or normals from a point
Draw tangents or normals to a path from a point. The user inputs a line segment with one end at that point and the other end near that path, and the plugin snaps one end of the line segment to a tangent or normal.
Tangents or normals from a stroke end of another path Similar as above except that instead of a point some stroke end of another path is used. The user inputs a line segment with one end near that path and the other end near that other path, and the plugin snaps both ends of that line segment.

V. Perspective Transform

Plugins applying Gimp's Perspective Transform tool on the active layer but offering different user interfaces. Currently there are five. To download them, go to Perspective transform.

Perspective transform - 4 points to 4 points
The transformation is defined by means of two 4-anchor paths: the anchors of one path are mapped onto the anchors of the second.
Perspective transform - 4 points to rectangle corners
Corrects quadrangles to rectangles. The transformation is defined by a 4-anchor path and a rectangle: the area inside the path is mapped onto the rectangle.
Perspective transform - 4 points to circle (clock face)
Corrects distorted circles to true circles. The transformation is defined by a 4-anchor path and a list of four hours on an imaginary clock face.
Perspective transform - 2+2+2 points to circle (3 diameters)
Corrects distorted circles to true circles. The transformation is defined by three paths showing three would-be diameters: the line segments that should become diameters of the corrected circle.
Perspective transform - 1+2+3 points to circle (center and 2+3 points) Otherwise as the plugin above but the input is three paths: a 1-anchor path (the would-be center); a 2-anchors path (2 points on the distorted circle); a 3-anchors path (3 points on the distorted circle).

VI. Plugin to warp paths

There is one plugin to warp a path. To download it, go to page on warping paths.

Warp a path locally Warp a path inside a given circle. Three possible actions: Grow, Shrink, and Swirl.

VII. Plugins to modify paths

There are two plugins to modify a path. To download, go to page on modifying paths.

Simplify a path Diminish the number of anchors allowing some smoothing.
Round path corners Given a path consisting of straight line segments, round its corners.
Simple smooth path Given a path consisting of straight line segments, construct a smooth path passing through the same anchors. A simple algorithm.
Join strokes Join close ends of the strokes of a path