通过de Casteljau算法绘制贝塞尔曲线

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-7-12 10:48:55
Tag:通过 Casteljau 算法 绘制 贝塞尔曲线

项目介绍:

Permalink
Failed to load latest commit information.
bezier add README.md Jun 13, 2016
gradle/wrapper init project May 30, 2016
sample perfect this project Jun 13, 2016
screenshot modify screenshot Jun 15, 2016
.gitignore init project May 30, 2016
README.md Update README.md Jul 12, 2016
build.gradle init project May 30, 2016
gradlew init project May 30, 2016
gradlew.bat init project May 30, 2016
settings.gradle init project May 30, 2016

游客,如果您要查看本帖隐藏内容请回复


Android Arsenal API



通过de Casteljau算法绘制贝塞尔曲线,并计算它的切线,实现1-7阶贝塞尔曲线的形成动画。
德卡斯特里奥算法可以计算出Bezier曲线上的一个点,进而绘制出Bezier曲线。

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)


相关源码推荐:

我来说两句
所有评论(69)
liuyi5289 2016-7-12 11:02:34
感谢分享,安卓巴士有你更精彩:)
回复
liuyi5289 2016-7-12 11:02:54
很给力,安卓巴士有你更精彩!
回复
yanghaiju2012 2016-7-12 11:24:44
感谢分享,楼主V5~
回复
w00214777 2016-7-12 11:47:36
支持,感谢,祝巴士越来越好~
回复
Mr_Zhao 2016-7-12 12:31:51
感谢分享,楼主V5~
回复
leave_weixiao 2016-7-12 13:02:48
学习下
回复
孙林 2016-7-12 13:34:57
感谢分享,安卓巴士有你更精彩:)
回复
2201 0 0
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿
帖子代码编辑/版权问题
QQ:435399051,1294855032
如何获得代码达人称号?
如何成为签约作者?
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )