File Exchange

image thumbnail

Smooth 3D bezier curves with implicit control points

version 1.0 (5.6 KB) by

Uses Hobby's algorithm to plot smooth curves in 3D through specified control points



View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This code can be used to draw 3D cubic splines by only entering the points through which the spline should pass.

In other words, smooth curves can be drawn by simply defining occasional points through which the curve should pass.

Bezier control points are calculated automatically using the Hobby's algorithm (1986), which allows a slope and "tension" of the spline at each point to be specified explicitly if desired.

Comments and Ratings (2)

Will Robertson

@Tgn Yang — for a 2D image I presume. The algorithm generates bezier curves which it plots by sampling the curve with a certain number of "time" points along the curve. You'd have to reverse engineer the algorithm to get the expression for the bezier curve and then integrate that to get the area. Alternatively (preferably) just use numerical integration on the curve that is drawn.

Tgn Yang

It is very useful, but what should I do if I want to calculate the area of the smoothed picture?

This tool just smooths the edge, but it does not really create new edge, isn't it?

MATLAB Release
MATLAB 7.13 (R2011b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video