diff --git a/README.md b/README.md index 669d6c8..08f333a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Bezier-Cpp [![Build Status](https://travis-ci.com/stribor14/Bezier-cpp.svg?branch=master)](https://travis-ci.com/stribor14/Bezier-cpp) +![v1.0](https://img.shields.io/badge/version-1.0-blue.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/aceb46ce7de1407abd56cfc127dba5f1)](https://www.codacy.com/app/stribor14/Bezier-cpp?utm_source=github.com&utm_medium=referral&utm_content=stribor14/Bezier-cpp&utm_campaign=Badge_Grade) Fast and lightweight class for using the Bezier curves of any order in C++ @@ -7,20 +8,28 @@ Fast and lightweight class for using the Bezier curves of any order in C++ *Algorithm implementations are based on [A Primer on Bezier Curves](https://pomax.github.io/bezierinfo/) by Pomax* ## Key Features - - dynamic operations - - any order of curve - - optimized for real-time calculations + - Any number of control points + - Fast operations on curves + - Dynamic manipulation ## Implementeed methods - - get value, curvature, tangent and normal for parameter *t* - - get t from projection any point onto a curve - - get derivative curve - - split into two subcurves - - find extremes and bounding box - - find points of intersection with another curve - - elevate/lower order - - manipulate control points - - manipulate dot on curve (only for quadratic and cubic curves) + - Get value, curvature, tangent and normal for parameter *t* + - Get t from projection any point onto a curve + - Get derivative curve + - Split into two subcurves + - Find extremes and bounding box + - Find points of intersection with another curve + - Elevate/lower order + - Manipulate control points + - Manipulate dot on curve (only for quadratic and cubic curves) + +## In development + - v1.1 indev Bezier polycurves + - [x] Create polycurve (C0 continuity) + - [x] Equivalent methods from Bezier curves + - [ ] Adding aditional curves to existing polycurve + - [ ] Curve continuity and manipulation + - v1.2 planned Bezier shapes ## Dependencies - c++11 @@ -31,7 +40,7 @@ Fast and lightweight class for using the Bezier curves of any order in C++ ## Example program A small Qt5 based program written as a playground for manipulating Bezier curves. ### Usage - - starts with two Bezier curves (with 4 and 5 control points respectively) + - Starts with two Bezier curves (with 4 and 5 control points respectively) - Zoom in/out: *__Ctrl + mouse wheel__* - Manipulate control point or point on curve: *__Left mouse buttom__* - Project mouse pointer on all curves and show tangent: *__Right mouse buttom__*