threejs椭圆EllipseCurve、圆ArcCurve

参考资料:threejs中文网

threejs qq交流群:814702116

椭圆和圆

接着上节课内容给大家介绍椭圆和圆曲线。

椭圆弧线EllipseCurve

EllipseCurve( aX, aY, xRadius,yRadius, aStartAngle, aEndAngle, aClockwise )
参数含义
aX, aY椭圆中心坐标
xRadius椭圆x轴半径
yRadius椭圆y轴半径
aStartAngle弧线开始角度,从x轴正半轴开始,默认0,弧度单位
aEndAngle弧线结束角度,从x轴正半轴算起,默认2 x Math.PI,弧度单位
aClockwise是否顺时针绘制,默认值为false
// 参数1和2表示椭圆中心坐标  参数3和4表示x和y方向半径
const arc = new THREE.EllipseCurve(0, 0, 100, 50);

椭圆曲线x和y方向半径相同,就是一个圆的效果。

// 参数1和2表示椭圆中心坐标  参数3和4表示x和y方向半径
const arc = new THREE.EllipseCurve(0, 0, 50, 50);

圆弧线ArcCurve

圆弧线ArcCurve的父类是椭圆弧线EllipseCurve,语法和椭圆弧线EllipseCurve相似,区别是参数3和参数4不同,椭圆需要定义xRadius和yRadius两个半径,圆只需要通过参数3定义半径aRadius即可。

//参数:0, 0圆弧坐标原点x,y  100:圆弧半径    0, 2 * Math.PI:圆弧起始角度
const arc = new THREE.ArcCurve(0, 0, 100, 0, 2 * Math.PI);
ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise )
参数含义
aX, aY圆心坐标
aRadius圆弧半径
aStartAngle弧线开始角度,从x轴正半轴开始,默认0,弧度单位
aEndAngle弧线结束角度,从x轴正半轴算起,默认2 x Math.PI,弧度单位
aClockwise是否顺时针绘制,默认值为false

曲线精度

//曲线上取点,参数表示取点细分精度
const pointsArr = arc.getPoints(50); //分段数50,返回51个顶点
// const pointsArr = arc.getPoints(10);//取点数比较少,圆弧线不那么光滑

弧线起始角度

参数4和5表示圆弧线的起始角度,three.js默认是一个完整的圆弧,其实你也可以绘制一个半圆弧。

// 完整圆弧
const arc = new THREE.ArcCurve(0, 0, 100, 0, 2 * Math.PI);
// 半圆弧
const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI);
// 四分之一圆弧
const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2);

顺逆时针

参数6默认false,逆时针绘制圆弧

const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2,false);

参数6设置为true,顺时针绘制圆弧

const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2,true);
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Threejs可视化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值