使用三维软件进行建模的时候,往往会利用二维线条轮廓生成三维几何体或平面,本节课主要内容就是为大家讲解three.js引擎提供的相关API。
执行构造函数ShapeGeometry()和立方体BoxGeometry()、空几何体Geometry()一样都是返回一个几何体对象,可以作为点线面构造函数的几何体参数,
不同的是ShapeGeometry()的封装程序介于BoxGeometry()和Geometry()之间,构造函数BoxGeometry()创建立方体的顶点数据直接定义长宽高和细分参数,
生成顶点数据的工作交给three.js程序自动完成,Geometry()创建的是一个没有顶点数据的空几何体,需要工程师自定义顶点相关数据,
ShapeGeometry()的参数是构造函数Shape()返回的对象,Shape对象具有一系列直线、圆弧、样条曲线创建方法,比如创建圆弧的方法absarc(),
执行absarc()方法会返回一个圆弧,这里说的圆弧其实是一种借用数学里面的概念对顶点数据进行抽象描述,
absarc()方法创建的圆弧本质上可以理解为一系列沿着圆弧分布的顶点数据,至于显示效果取决于你使用点、线、面三种渲染模式中的哪一种。
圆弧——点模式渲染
/**
* 创建点模型
*/varshape =newTHREE.Shape();shape.absarc(0,0,100,0,0.5*Math.PI);vargeometry =newTHREE.ShapeGeometry(shape);varmaterial=newTHREE.PointsMaterial({
color:0x0000ff,size:10.0//点对象像素尺寸});//材质对象varline=new