Three.js学习11:几何体(2)-常见三维几何体

本文介绍了Three.js中的几种常见三维几何体,如立方体(BoxGeometry)、球体(SphereGeometry)、圆柱体(CylinderGeometry)、立体圆环(TorusGeometry)、胶囊体(CapsuleGeometry)和圆锥体(ConeGeometry),并提供了它们的构造函数和示例代码。
摘要由CSDN通过智能技术生成

 -----------------------------华丽的分割线---------------------

相关代码均已上传到 gitee 中:myThree: 学习 Three.js ,努力加油~!

Gitee 静态演示地址:Three JS 演示页面

-----------------------------华丽的分割线---------------------

本文继续学习了解几何体,三维几何体。

一、常见三维几何体

(1)BoxGeometry:立方体

BoxGeometry 是四边形的原始几何类,它通常使用构造函数所提供的 “width”、“height”、“depth” 参数来创建立方体或者不规则四边形。

构造函数:

BoxGeometry(width : Float, height : Float, depth : Float, widthSegments : Integer, heightSegments : Integer, depthSegments : Integer)
属性是否必填描述
widthX 轴上面的宽度,默认值为 1
heightY 轴上面的宽度,默认值为 1
depthZ 轴上面的宽度,默认值为 1
widthSegments可选(可选)宽度的分段数,默认值是 1
heightSegments可选(可选)高度的分段数,默认值是 1
depthSegments可选(可选)深度的分段数,默认值是 1

示例代码:

const geometry = new THREE.BoxGeometry( 1, 1, 1 ); 
const material = new THREE.MeshBasicMaterial( {color: 0xff3300} ); 
const cube = new THREE.Mesh( geometry, material ); 
scene.add( cube );

(2)SphereGeometry:球体

用于生成球类。

构造函数:

SphereGeometry(radius : Float, widthSegments : Integer, heightSegments : Integer, phiStart : Float, phiLength : Float, thetaStart : Float, thetaLength : Float)
属性是否必填描述
radius球体半径,默认值为 1
widthSegments水平分段数(沿着经线分段),最小值为3,默认值为 32
heightSegments垂直分段数(沿着纬线分段),最小值为2,默认值为16
phiStart指定水平(经线)起始角度,默认值为 0
phiLength指定水平(经线)扫描角度的大小,默认值为 Math.PI * 2
thetaStart指定垂直(纬线)起始角度,默认值为 0
thetaLength指定垂直(纬线)扫描角度大小,默认值为 Math.PI

示例代码:  

const geometry = new THREE.SphereGeometry( 15, 32, 16 );
const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
const sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );

(3)CylinderGeometry:圆柱体

用于生成圆柱几何体。

构造函数:

CylinderGeometry(radiusTop : Float, radiusBottom : Float, height : Float, radialSegments : Integer, heightSegments : Integer, openEnded : Boolean, thetaStart : Float, thetaLength : Float)
属性是否必填描述
radiusTop圆柱的顶部半径,默认值是 1
radiusBottom圆柱的底部半径,默认值是 1
height圆柱的高度,默认值是 1
radialSegments圆柱侧面周围的分段数,默认为 32
heightSegments圆柱侧面沿着其高度的分段数,默认值为 1
openEnded一个Boolean值,指明该圆锥的底面是开放的还是封顶的。 默认值为 false,即其底面默认是封顶的。
thetaStart第一个分段的起始角度,默认为 0。三点钟方向。
thetaLength圆柱底面圆扇区的中心角,通常被称为“θ”(西塔)。默认值是 2*Pi,这使其成为一个完整的圆柱。

示例代码:

const geometry =  new THREE.CylinderGeometry(  2, 2, 5, 32 );
const material = new THREE.MeshBasicMaterial({
    color:"#ff3300"
});
const cylinder = new THREE.Mesh( geometry, material );
scene.add( cylinder );

(4)TorusGeometry:立体圆环

用于生立体圆环。

构造函数:

TorusGeometry(radius : Float, tube : Float, radialSegments : Integer, tubularSegments : Integer, arc : Float)
属性是否必填描述
radius环面的半径,从环面的中心到管道横截面的中心。默认值是 1
tube管道的半径,默认值是 0.4
radialSegments管道横截面的分段数,默认值是 12
tubularSegments管道的分段数,默认为 48
arc圆环的圆心角(单位是弧度),默认值为 2*Math.PI

示例代码:

const geometry =  new THREE.TorusGeometry();
const material = new THREE.MeshBasicMaterial( { 
    color:"#ff3300" 
} );
const torus = new THREE.Mesh( geometry, material );
scene.add( torus );

(5)CapsuleGeometry:胶囊体

用于生成胶囊。

构造函数:

CapsuleGeometry(radius : Float, length : Float, capSegments : Integer, radialSegments : Integer)
属性是否必填描述
radius胶囊半径。默认值是 1
length中间区域的长度,默认值是 1
capSegments构造盖子的曲线部分的个数,默认值是 4
radialSegments覆盖胶囊圆周的分离的面的个数,默认为 8

示例代码:

const geometry = new THREE.CapsuleGeometry( 1, 1, 4, 8 ); 
const material = new THREE.MeshBasicMaterial( {
    color: 0xff3300
} ); 
const capsule = new THREE.Mesh( geometry, material ); 
scene.add( capsule );

(6)ConeGeometry:圆锥体

用于生成圆锥体。

构造函数:

ConeGeometry(radius : Float, height : Float, radialSegments : Integer, heightSegments : Integer, openEnded : Boolean, thetaStart : Float, thetaLength : Float)
属性是否必填描述
radius圆锥底部的半径。默认值是 1
height圆锥的高度,默认值是 1
radialSegments圆锥侧面周围的分段数,默认值是 32
heightSegments圆锥侧面沿着其高度的分段数,默认为 1
openEnded一个Boolean值,指明该圆锥的底面是开放的还是封顶的。默认值为 false,即其底面默认是封顶的。
thetaStart第一个分段的起始角度,默认为 0。三点钟位置。
thetaLength圆锥底面圆扇区的中心角,通常被称为“θ”(西塔)。默认值是 2*Pi,这使其成为一个完整的圆锥。

示例代码:

const geometry = new THREE.ConeGeometry( 5, 20, 32 );
const material = new THREE.MeshBasicMaterial( {color: 0xff3300} );
const cone = new THREE.Mesh( geometry, material );
scene.add( cone );

二、其它三维几何体

其它几何体在官方文档中,均有详细描述,本文就不在赘述。

建议读者按照官方文档说明,自己在代码中敲一次,加强印象。

  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值