Three.js学习笔记-Extras(额外的部分)

Extras

Earcut

实现earcut多边形三角剖分算法
方法
- triangulate(data, holeIndices, dim): Array
data –垂直坐标的平面数组
holeIndices – 一组hole指数(如果有的话)
dim – 输入数组中每个顶点的坐标数

ShapeUtils

一个包含形状的实用的函数
方法
- area(contour):Number contour–2D多边形,计算多边形轮廓的面积
- isClockwise(pts) pts-定义二维多边形的点,请注意,这是一个线性函数,因此有必要分别计算多边形的x,y分量。Path, ExtrudeGeometry and ShapeGeometry内部使用
- triangulateShape(contour,holes) contour: 2D 多边形;holes: holes数组。ExtrudeGeometry 和 ShapeGeometry内部计算带有孔的形状中的面

Extras / Core

Curve

创建曲线的抽象类
构造函数
- `Curve()
特性
- arcLengthDivisions: Integer 分段的数量,默认200
方法
- getPoint/getPointAt(t: Float,optionalTarget:Vector) t [0,1]是曲线上的一个点,结果复制到找个向量中
- getPoints/getSpacedPoints(divisions: Integer):Array divisions默认5
- getLength()/updateArcLength()
- getUtoTmapping(u: Float,distance): Float
- getTangent(t): Vector 返回一个单位向量/getTangentAt(t:Float)
- computeFrenetFrames(segments,closed: Boolean) 用在管状几何体和四面体
- clone()/copy(source: Curve)/toJSON()/fromJSON()

CurvePath

构造函数
- CurvePath()
特性
- curves: Array
- autoClose: Boolean
方法
- add(curve)
- closePath() 增加一个lineCurve到curves数组
- getCurveLength()

Font

构造函数
- Font(data) JSON data ,是一个Shape的数组
方法
- generatesShapes(text,size) size默认100,创建表示字体中的文本的形状数组

Interpolation

方法
- CatmullRom ( t : Float, p0 : Float, p1 : Float, p2 : Float, p3 : Float ) : Float 用在SplineCurve
- QuadraticBezier ( t : Float, p0 : Float, p1 : Float, p2 : Float ) : Float 用在QuadraticBezierCurve3, QuadraticBezierCurve 和 Font
- CubicBezier ( t : Float, p0 : Float, p1 : Float, p2 : Float, p3 : Float ) : Float 用在CubicBezierCurve3, CubicBezierCurve 和 Font.

Path

提供了创建2D形状的路径和轮廓的方法
构造函数
- Path(points) points: Vector2的数组,第一个点被用偏移量
特性
参见CurvePath
方法
- absarc ( x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Float ) : null
- absellipse ( x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Float, rotation : Float ) : null
- arc ( x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Float ) : null
- bezierCurveTo ( cp1X : Float, cp1Y : Float, cp2X : Float, cp2Y : Float, x : Float, y : Float ) : null
- ellipse ( x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Float, rotation : Float ) : null
- lineTo ( x : Float, y : Float ) : null
- moveTo ( x : Float, y : Float ) : null
- quadraticCurveTo ( cpX : Float, cpY : Float, x : Float, y : Float ) : null
- setFromPoints ( vector2s : Array ) : null 点以LineCurves的形式添加到curves数组中
- splineThru ( points : Array ) : null 连接一个新的SplineCurve到路径上

Shape

使用带有可选的路径定义任意2d形状平面。它可以与ExtrudeGeometry,ShapeGeometry一起使用
构造函数
- Shape(points)
特性
- uuid/holes
方法
参见Path
- extractPoints(divisions)/getPointsHoles(divisions)

ShapePath

继承CurvePath
构造函数
- Shapepath()
特性
- subPaths/currentPath: Array
方法
- moveTo/lineTo/quadraticCurveTo/bezierCurveTo/splineThru

Extras / Curves

ArcCurve

EllipseCurve的别名

CatmullRomCurve3

通过Catmull-Rom算法创建平滑的3D spline 曲线
构造函数
- CatmullRomCurve3( points : Array, closed : Boolean, curveType : String, tension : Float ) 默认值依次为flase/centripetal/0.5

CubicBezierCurve

创建一个2d 平滑的三次贝塞尔曲线
构造函数
CubicBezierCurve ( v0 : Vector2, v1 : Vector2, v2 : Vector2, v3 : Vector2 )
v0 – 起点
v1 – 控制点1
v2 – 控制点2
v3 – 终点

CubicBezierCurve3

创建一个3d 平滑的三次贝塞尔曲线
构造函数
CubicBezierCurve3 ( v0 : Vector3, v1 : Vector3, v2 : Vector3, v3 : Vector3 )
v0 – 起点
v1 – 控制点1
v2 – 控制点2
v3 – 终点

EllipseCurve

椭圆
构造函数
- EllipseCurve( aX : Float, aY : Float, xRadius : Float, yRadius : Float, aStartAngle : Radians, aEndAngle : Radians, aClockwise : Boolean, aRotation : Radians )
默认0/0/1/1/0/2*PI/flase/0 椭圆的旋转正x轴逆时针

LineCurve

构造函数
- LineCurve( v1 : Vector2, v2 : Vector2 )

LineCurve3

构造函数
- LineCurve( v1 : Vector3, v2 : Vector3 )

QuadraticBezierCurve

构造函数
- QuadraticBezierCurve( v0 : Vector2, v1 : Vector2, v2 : Vector2 )
v0 起始点 v1控制点 v2 终点

QuadraticBezierCurve3

构造函数
- QuadraticBezierCurve( v0 : Vector3, v1 : Vector3, v2 : Vector3 )
v0 起始点 v1控制点 v2 终点

SplineCurve

样条曲线
构造函数
- SplineCurve( points : Array )

Extras / Object

ImmediateRenderObject

猜你喜欢

转载自blog.csdn.net/u013270347/article/details/81291967
今日推荐