All Projects → romb-technologies → Bezier

romb-technologies / Bezier

Licence: Apache-2.0 license
Fast and lightweight class for Bezier curves of any order in C++

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Bezier

Shapes
📐 Net standard geometry/shape manipulation library, can be used to merge / split shapes
Stars: ✭ 95 (+61.02%)
Mutual labels:  bezier
Apple Pencil Safari Api Test
Canvas sketch board, force touch, real-time Bezier curve.
Stars: ✭ 189 (+220.34%)
Mutual labels:  bezier
JPlotter
OpenGL based 2D Plotting Library for Java using AWT and LWJGL
Stars: ✭ 36 (-38.98%)
Mutual labels:  bezier
Micro Racing
🚗 🏎️ 🎮 online 3D multiplayer neural networks based racing game
Stars: ✭ 100 (+69.49%)
Mutual labels:  bezier
Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (+157.63%)
Mutual labels:  bezier
Animated Timeline
🔥 Create timeline and playback based animations in React
Stars: ✭ 197 (+233.9%)
Mutual labels:  bezier
Bezierpath
Bezier path triangulation with Delaunay algorithm.
Stars: ✭ 88 (+49.15%)
Mutual labels:  bezier
SonogramView
Audio visualisation of song
Stars: ✭ 65 (+10.17%)
Mutual labels:  bezier
Gismo
G+Smo (pronounced gismo or gizmo) is a C++ library for isogeometric analysis (IGA). Geometry plus simulation modules aims at the seamless integration of Computer-aided Design (CAD) and Finite Element Analysis (FEA).
Stars: ✭ 152 (+157.63%)
Mutual labels:  bezier
GodotGeometryElements
Geometry elements using Godot Engine 2.14 and Godot 3.0
Stars: ✭ 27 (-54.24%)
Mutual labels:  bezier
Beziercurvepathcreater
用于创建贝塞尔曲线路径,可匀速运动 - 基于CocosCreator_2.2.2 - Used to create a Bezier curve path with uniform motion Based on CocosCreator_2.2.2
Stars: ✭ 130 (+120.34%)
Mutual labels:  bezier
Flutteringlayout
🎈 一个直播间点赞桃心飘动效果的控件
Stars: ✭ 145 (+145.76%)
Mutual labels:  bezier
Bezier
Algorithm to draw smooth bezier curves through a set of points
Stars: ✭ 207 (+250.85%)
Mutual labels:  bezier
Bezier Easing
cubic-bezier implementation for your JavaScript animation easings – MIT License
Stars: ✭ 1,333 (+2159.32%)
Mutual labels:  bezier
robot dart
Generic wrapper around the DART simulator
Stars: ✭ 31 (-47.46%)
Mutual labels:  eigen3
Beziermaker
🔥 通过de Casteljau算法绘制贝塞尔曲线,并计算它的切线,实现1-7阶贝塞尔曲线的形成动画。
Stars: ✭ 1,325 (+2145.76%)
Mutual labels:  bezier
Naughtybeziercurves
Bezier Curve Game Object for Unity
Stars: ✭ 195 (+230.51%)
Mutual labels:  bezier
h5pp
A C++17 interface for HDF5
Stars: ✭ 60 (+1.69%)
Mutual labels:  eigen3
curve-editor
A simple bezier curve editor
Stars: ✭ 35 (-40.68%)
Mutual labels:  bezier
Ezunity
Unity3D工具集+API二次封装+编辑器扩展
Stars: ✭ 230 (+289.83%)
Mutual labels:  bezier

Bezier

Build Status v0.2 Codacy Badge

Fast and lightweight class for using the Bezier curves of any order in C++

Algorithm implementations are based on A Primer on Bezier Curves by Pomax

Key Features

  • Any number of control points
  • Fast operations on curves
  • Dynamic manipulation
  • Composite Bezier curves (polycurves)

CMake find_package() compatible!

find_package(Bezier)
target_link_libraries(target bezier)

Implemented methods

  • Get value, derivative, curvature, tangent and normal for parameter t
  • Get t from projection any point onto a curve
  • Get precise length for any part of curve
  • Get a derivative curve (hodograph)
  • Split into two subcurves
  • Find curve roots and bounding box
  • Find points of intersection with another curve
  • Elevate/lower order
  • Apply parametric and geometric continuities
  • etc.

Wish list

- [ ] Polycurve - oversee continuities between consecutive sub-curves
- [ ] Polycurve - propagation of sub-curve manipulation depending on continutiy
- [ ] Bezier shapes
- [ ] More sophisticated example

Dependencies

  • c++11
  • Eigen3

Instalation

System-wide installation

git clone https://github.com/romb-technologies/Bezier
mkdir Bezier/build
cd Bezier/build
cmake ..
make
make install

ROS

  • for use within a ROS workspace without the system-wide installation, clone the repo to src folder in you catkin workspace

Example program [OUTDATED]

A small Qt5 based program written as a playground for manipulating Bezier curves.

  • press H for a list of possible actions

Additional dependencies

  • qt5-default

Licence

Apache License Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].