image thumbnail

2D Line Curvature and Normals

version 1.3.0.0 (8.97 KB) by Dirk-Jan Kroon
Accurate Curvature and Normals of a line/contour consisting of 2D points

10.1K Downloads

Updated 17 Oct 2011

View License

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

LineCurvature2D, This function calculates the curvature of a 2D line. It first fits polygons to the points. Then calculates the analytical curvature from the polygons.

K = LineCurvature2D(Vertices,Lines)

inputs,
Vertices : A M x 2 list of line points.
(optional)
Lines : A N x 2 list of line pieces, by indices of the vertices
(if not set assume Lines=[1 2; 3 4 ; ... ; M-1 M])

outputs,
K : M x 1 Curvature values

.
.
LineNormals2D, This function calculates the normals, of the line. Using the neighbouring points of each line/contour point, and forward an backward differences on the end points

N=LineNormals2D(V,L)

inputs,
V : List of points/vertices 2 x M
(optional)
Lines : A N x 2 list of line pieces, by indices of the vertices
(if not set assume Lines=[1 2; 3 4 ; ... ; M-1 M])

outputs,
N : The normals of the Vertices 2 x M

Cite As

Dirk-Jan Kroon (2021). 2D Line Curvature and Normals (https://www.mathworks.com/matlabcentral/fileexchange/32696-2d-line-curvature-and-normals), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: thick_line(x,y,thickness)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!