All Projects → venshine → Beziermaker

venshine / Beziermaker

Licence: apache-2.0
🔥 通过de Casteljau算法绘制贝塞尔曲线,并计算它的切线,实现1-7阶贝塞尔曲线的形成动画。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Beziermaker

Beziermaker.js
arbitrary order bézier-curve generator
Stars: ✭ 277 (-79.09%)
Mutual labels:  bezier
Beziercurve
Bezier curve master
Stars: ✭ 43 (-96.75%)
Mutual labels:  bezier
Bezierpath Length
A simple API to get the length of a CGPath, UIBezierPath or NSBezierPath, written in Swift.
Stars: ✭ 78 (-94.11%)
Mutual labels:  bezier
Computational Geometry
Computational Geometry Unity library with implementations of intersection algorithms, triangulations like delaunay, voronoi diagrams, polygon clipping, bezier curves, ear clipping, convex hulls, mesh simplification, etc
Stars: ✭ 325 (-75.47%)
Mutual labels:  bezier
Moto.js
A light motion library with curvilinear support.
Stars: ✭ 24 (-98.19%)
Mutual labels:  bezier
Mgs Skinnedmesh
Unity plugin for create flexible hose in scene.
Stars: ✭ 58 (-95.62%)
Mutual labels:  bezier
Bezier.py
➰ Create Bezier curves in Python [Mirror]
Stars: ✭ 22 (-98.34%)
Mutual labels:  bezier
Diagram Vue
A editable SVG-based diagram component for Vue
Stars: ✭ 86 (-93.51%)
Mutual labels:  bezier
Scenekit Bezier Animations
Create animations over Bezier curves of any number of points
Stars: ✭ 35 (-97.36%)
Mutual labels:  bezier
Maker.js
📐⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.
Stars: ✭ 1,185 (-10.57%)
Mutual labels:  bezier
Contourview
🦄 利用本库绘制出贝塞尔曲线魔炫背景。Customize view:Draw the magic dazzle background with Bézier.
Stars: ✭ 542 (-59.09%)
Mutual labels:  bezier
Cglm
📽 Highly Optimized Graphics Math (glm) for C
Stars: ✭ 887 (-33.06%)
Mutual labels:  bezier
Korma
Mathematics library focused on geometry for Multiplatform Kotlin 1.3
Stars: ✭ 65 (-95.09%)
Mutual labels:  bezier
Nurbs Python
Object-oriented pure Python B-Spline and NURBS library
Stars: ✭ 295 (-77.74%)
Mutual labels:  bezier
Waveview
🏄 WaveView 一个水波纹动画控件视图,支持波纹数,波纹振幅,波纹颜色,渐变色,波纹速度,波纹方向等属性完全可配。
Stars: ✭ 81 (-93.89%)
Mutual labels:  bezier
react-svg-curve
React components to draw different types of curves with svg
Stars: ✭ 42 (-96.83%)
Mutual labels:  bezier
Cpp Spline
Package provides C++ implementation of spline interpolation
Stars: ✭ 54 (-95.92%)
Mutual labels:  bezier
Bezierpath
Bezier path triangulation with Delaunay algorithm.
Stars: ✭ 88 (-93.36%)
Mutual labels:  bezier
Curvejs
Made curve a dancer in HTML5 canvas - 魔幻线条
Stars: ✭ 1,251 (-5.58%)
Mutual labels:  bezier
Tweenkit
Animation library for iOS in Swift
Stars: ✭ 1,146 (-13.51%)
Mutual labels:  bezier

BezierMaker

Android Arsenal API

通过de Casteljau算法绘制贝塞尔曲线,并计算它的切线,实现1-7阶贝塞尔曲线的形成动画。 德卡斯特里奥算法可以计算出Bezier曲线上的一个点,进而绘制出Bezier曲线。想深入了解德卡斯特里奥算法的同学可以参考我翻译的一篇文章《德卡斯特里奥算法——找到Bezier曲线上的一个点》

bezier.apk

Features

  • 支持增加和删除控制点
  • 支持1阶到7阶贝塞尔曲线,限于屏幕大小,理论上可以支持N阶贝塞尔曲线
  • 支持自由移动控制点
  • 支持显示贝塞尔曲线形成过程的切线
  • 支持循环显示贝塞尔曲线的形成动画
  • 支持贝塞尔曲线显示速率
  • 支持显示控制点坐标
  • 支持设置贝塞尔曲线阶数

ScreenShot




Demo

Java:
    public class MainActivity extends Activity {

        BezierView mBezierView

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main)

            mBezierView = (BezierView) findViewById(R.id.bezier);
        }

        public void start(View view) {
            mBezierView.start();
        }

        public void stop(View view) {
            mBezierView.stop();
        }

        public void add(View view) {
            mBezierView.addPoint();
        }

        public void del(View view) {
            mBezierView.delPoint();
        }

    }
Methods:
method 方法 description 描述
void start() 开始贝塞尔曲线(required)
void stop() 停止贝塞尔曲线(optional)
boolean addPoint() 增加控制点(optional)
boolean delPoint() 删除控制点(optional)
int getOrder() 获取贝塞尔曲线阶数(optional)
void setRate(int rate) 设置移动速率(optional)
void setTangent(boolean tangent) 设置是否显示切线(optional)
void setLoop(boolean loop) 设置是否循环(optional)
void setOrder(int order) 设置贝塞尔曲线阶数(optional)

About

License

Copyright (C) 2016 [email protected]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].