CircleGeometry 圆形

—> Geometry

Circle 的本意是圆, 但通过这个类, 不但可以绘制出圆形, 还可以绘制出正多边形, 扇形. 求圆周率π, 就是把一个圆不断、不断的等分, 使得sinθ、tanθ(θ为相邻两条半径的夹角)的极限都趋于0, 并且越来越接近, 那么得到的π值也就越精确. 所以, 在图形学中绘制一个圆, 首先 是绘制一个正多边形, 然后使它的边数足够大, 便会使得此多边形越光滑. 在肉眼视觉误差范围内, 它看起来就是一个圆了. segments 这个参数 就是设置圆周分段数的, 默认值为8, 相当于默认绘制一个正八边形. 除此之外, 这个类还可以绘制扇形, thetaLength - thetaStart 就是 扇形对应的弧长. thetaStart 默认值是0, thetaLength默认值是 Math.PI * 2. 通过这个类, 能够展现:

function CircleGeometry( radius, segments, thetaStart, thetaLength ) { } var geometry = new THREE.CircleGeometry(3, 64), material = new THREE.MeshBasicMaterial({color: 0x663399, side: THREE.DoubleSide}), circle = new THREE.Mesh( geometry, material ); scene.add( circle );

Parameters

radius segments thetaStart thetaLength
1 8 ( >=3 ) 0 Math.PI * 2
半径 圆周分段数 起始角 弧长

Methods 继承自 Geometry 并自动调用

fromBufferGeometry( new CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) )
mergeVertices( )

CircleBufferGeometry

function CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) { } var geometry = new THREE.CircleBufferGeometry(3, 64), material = new THREE.MeshBasicMaterial({color: 0x663399, side: THREE.DoubleSide}), circle = new THREE.Mesh( geometry, material ); scene.add( circle );

图解API

纹理Texture来渲染圆形. 点开查看