Processing的shapes3d库中的shapes3d.utils.P_Bezier3D类
来源:互联网 发布:单片机和arm区别 编辑:程序博客网 时间:2024/06/10 03:27
以下是文字是根据帮助文件得来的,如果有出入请大神指正
这个类用于描述三维空间中的单条Bezier曲线(大于等于2阶--Bezier曲线的除数等于控制点数),其主要目的是用于方便的保持(maintain)三维空间中Bezier曲线的控制点集,该类的对象在shapes3d库中被BezTube类用于创建一个tube,这个tube沿着y轴[0,1,0]旋转弯曲。
阶次图形(Degree Shape)
2 直线
3 二次 bezier
4 三次 bezier
以此类推
也可以被用作Extrusion的路径
以下例程是本人测试用例,展示了BezTube类是如何被P_Bezier3D控制的
import peasy.*;import shapes3d.*;import shapes3d.utils.*;PVector[] v=new PVector[]{new PVector(10,0,0),new PVector(200,0,0)};BezTube bzt;P_Bezier3D pbz3d;PeasyCam cam;int degree;void setup(){ cam=new PeasyCam(this,300);size(800,600,P3D);//P_Bezier3D pbz3d=new P_Bezier3D(v,v.length);//bzt=new BezTube(this,pbz3d,20,10,15);//bzt.stroke(color(255));//bzt.drawMode(BezTube.WIRE);//frameRate(30);}void draw(){ background(0); pbz3d=new P_Bezier3D(v,v.length);bzt=new BezTube(this,pbz3d,20,10,15);bzt.stroke(color(255));bzt.drawMode(BezTube.WIRE);lights(); bzt.draw();}void keyPressed(){ degree++; if(degree%3==0) v=new PVector[]{new PVector(10,0,0),new PVector(200,0,0)};//两个控制点的Bezier是一条直线 if(degree%3==1) v=new PVector[]{new PVector(10,0,0),new PVector(200,-100,0),new PVector(300,100,0)};//三个控制点的Bezier为二次曲线 if(degree%3==2) v=new PVector[]{new PVector(10,0,0),new PVector(200,-100,0),new PVector(300,100,0),new PVector(400,0,0)};//四个控制点的Bezier为三次曲线}
0 0
- Processing的shapes3d库中的shapes3d.utils.P_Bezier3D类
- Processing中shapes3d库的utils包中的P_BezierSpline类
- Processing中shapes3d库的utils包中的Bezier2与Shape3D包中的BezShape类
- Processing的shapes3d库animation包AbstractVectorChangeAction类及其子类ShapeMover和ShapeRotator
- Java.utils.concurrent包中的几个有用的类(CountDownLatch、CyclicBarrier、Semaphore)
- 【utils】将指定的mysql数据库中的表生成java实体类
- 【utils】通过枚举中的某个字段值获取枚举的EnumUtil工具类
- gradle中的utils.gradle
- Android的Utils工具类的NetworkUtils
- 6、通用类Utils的常用函数
- 关于手机系统管理的工具类utils
- 韩顺平老师的细说JSP视频的购物车项目中的utils包中有三个工具类
- common-utils的使用
- mtd-utils的编译
- Utils.toDip()的用法
- 图片相关的Utils
- Processing中的颜色渐变
- Spark-utils 类
- vsnprintf和snprintf
- telnet的基本配置(cisco、H3C、huawei 三个例子)
- linux-搭建web服务器系列--搭建redis(七)
- C++概述
- 下载Youtube视频的三种方法
- Processing的shapes3d库中的shapes3d.utils.P_Bezier3D类
- gradle常规配置
- 【读书笔记】 —— 金融
- Android监视数据库的变化
- return false
- jquery实现酷炫的抽奖器效果
- Python性能优化的20条建议
- mongodb3.X权限配置
- RTP协议全解析(H264码流和PS流)