User Tools

Site Tools


gamedev:deigde:editors:widgetbeziercurve

This is an old revision of the document!


Bezier Curve Editor

The bezier curve widget is used in various editors to edit bezier curves. Bezier curve editor

Bezier curves are 2D curves mapping an input value to an output value.

Curves compose of a series of curve points ordered by increasing X coordinate. Each curve point composes of three 2-vector values: point, first handle and second handle.

The point defines the location of the curve point (X coordinate, input value) and the output value (Y coordinate).

The two handles define the shape of the curve in the neighbourhood of the point. The first point is located to the left side of the point (leading in handle) and the second handle is located on the right side of the point (leading out handle). If the handles and the point are co-linear (all three vectors can be joined with a continuous line) then the curve has first order continuity (smooth corner). If the distance between the two handles and the point is also identical then the curve has second order continuity (smooth corner and smooth curvature change rate). Otherwise the corner is pointy and has zero order continuity.

For the entire curve the interpolation mode can be set. There are three possible values: constant interpolation, linear interpolation and bezier interpolation.

Constant interpolation forces the output value of each curve segment (the section between two curve points) to the Y-coordinate of the the curve point on the left side of the segment. The value then jumps immediately to the Y-coordinate of the next segment when arriving at the right curve point. In this mode handles are ignored. This mode is best suited for switching type mapping where the output is constant across curve segments. In this mode handles are ignored.

Linear interpolation blends linearly between the left and right end of a curve segment. All corners are pointy. In this mode handles are ignored.

Bezier interpolation produces smooth curves by interpolation using bezier algorithm between curve points.

You could leave a comment if you were logged in.
gamedev/deigde/editors/widgetbeziercurve.1585583508.txt.gz · Last modified: 2020/03/30 15:51 by dragonlord