Poster of Linux kernelThe best gift for a Linux geek
tkspline

tkspline

Section: Tk Spline - An additional smoothing method for canvas items (3) Updated: 8.0
Local index Up



 

NAME

spline, - additional smoothing method for canvas items.  

SYNOPSIS

        package require Tkspline
        ...
        .c create line ... -smooth spline ...
        .c create polygon ... -smooth spline ...




 

INTRODUCTION

The new option value: -smooth spline provides an additional smoothing method to line and polygon canvas items.

Spline smoothing will revert to the builtin smoothing method unless the number of points is 3n+1, where n is the number of spline segments. (Normally in polygons this means 3n points because the last point of the spline is understood to be the same as the first in order to close the polygon).

In line and polygon items, the curves generated with the standard -smooth true option have the following properties:

-
the curve is always tangential to a straight line between consecutive points.
-
the curve is only guaranteed to intersect the first and last points of lines.
-
the curve is not guaranteed to intersect any points of polygons.

With -smooth spline (and the right number of coordinates) the curves generated have the following different properties:

-
the curve is guaranteed to intersect the first point, and every third point after that.
-
each segment of the curve shares endpoints with the adjacent segments, but is otherwise independant of them.
-
the curve is guaranteed to be tangential to a line between n and n+1 at point n, and also to a line between n+2 and n+3 at point n+3.
-
the curve is not guaranteed to be smooth at the junctions between segments unless the shared point and the points either side of it are on a straight line.

These alternative properties are useful to some path planning algorithms.

 

CREDITS

The underlying Bezier code is in John Ousterhout's original canvas widget, this extension just provides an alternate interface to it. The hooks into the canvas are provided by Jan Nijtmans in his "dash" patch.

 

KEYWORDS

spline, line, polygon, bezier, canvas, widget

 

AUTHOR

John Ellson, ellson@graphviz.org


 

Index

NAME
SYNOPSIS
INTRODUCTION
CREDITS
KEYWORDS
AUTHOR

This document was created by man2html, using the manual pages.
Time: 22:40:21 GMT, April 16, 2011