File Exchange

image thumbnail


version 2.0.4 (19.8 MB) by Enrico Bertolazzi
G1 and G2 fitting with clothoids, circle and biarc


Updated 07 May 2021

From GitHub

View Version History

View license on GitHub

### G1 and G2 fitting with clothoids, spline of clothods, circle arc and biarc
**by Enrico Bertolazzi and Marco Frego**

for the documentation see ``

This is the NEW Object Oriented (OO) version of the Clothoids library.
For the old NON OO interface look at the branch `old_interface`.


Enrico Bertolazzi and Marco Frego
Department of Industrial Engineering
University of Trento

Cite As

Enrico Bertolazzi (2021). ebertolazzi/Clothoids (, GitHub. Retrieved .

Comments and Ratings (11)

Enrico Bertolazzi

Its a problem with submodules that the MATLAB distribution do not copy.
I made a new release duplicating files form submodules into toolbox so that next releases do not have this problem.
In the meantime try to download the toolbox directly from the GIT repos:

Daniele Nanni

Hi, I've followed the instructions. In matlab, I've compiled the file 'ComplileClothoidsLib.m' with the following results:
mex -c -largeArrayDims -Isrc -Isrc/Utils -c src/Utils/fmt/
Error using mex
D:\OneDrive - University of Pisa\Ing Automazione e Robotica\Tesi\Clothoids - Bertolazzi\toolbox\src\Utils\fmt\
not found; check that you are in the correct current folder, and check the spelling of 'D:\OneDrive - University of
Pisa\Ing Automazione e Robotica\Tesi\Clothoids - Bertolazzi\toolbox\src\Utils\fmt\'.
Error in CompileClothoidsLib (line 85)

What do I have to do?

Alessandro Antonucci

Enrico Bertolazzi

The software is developed on OSX. To compile the MEX library execute CompileLib.m on the directory matlab. To compile the c++ lib (to be used in c++) there is a makefile (that work on linux and OSX) and a CMakeLists.txt to be used with cmake on all the platforms.

Has anyone compiled this with macOS on a macbookair? Can the instructions be posted here please, thanks.

Cagatay Cebeci

Thank you for sharing and following people's requests. Definitely a good practice! I hope to benefit from this work for my research.

izzy schall

I found a solution by changing line 398 in to include parentheses :

return (std::max)(d1,(std::max)(d2,d3)) ;

(solution found here:

Enrico Bertolazzi

if you are compiling on windows with visual studio compiler probably the error is due to some version of the compiler which defined max and min as macros. I added a workaround for that in the last version of the library.

Valerio Magnago

Enrico Bertolazzi

It is correct, in the latest version I added the header inclusion. The error is due to that fact I develop mainly on OSX which include headers for STL in a slight different way.

Tim Pfitzer

Hi,I tried to compile your Lib. There is an error in Triangle2D I think you forgot to include the Header <algorithm>. After I fixed that i was able to compile it in Matlab.

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

Inspired: Polynomialspirals

Community Treasure Hunt

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

Start Hunting!