Skip to content

Commit f854386

Browse files
committed
Mover Curve.Utils to CurveUtils.
1 parent a83c567 commit f854386

File tree

2 files changed

+50
-50
lines changed

2 files changed

+50
-50
lines changed

src/extras/CurveUtils.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/**
2+
* @author zz85 / http://www.lab4games.net/zz85/blog
3+
*/
4+
5+
THREE.CurveUtils = {
6+
7+
tangentQuadraticBezier: function ( t, p0, p1, p2 ) {
8+
9+
return 2 * ( 1 - t ) * ( p1 - p0 ) + 2 * t * ( p2 - p1 );
10+
11+
},
12+
13+
// Puay Bing, thanks for helping with this derivative!
14+
15+
tangentCubicBezier: function ( t, p0, p1, p2, p3 ) {
16+
17+
return - 3 * p0 * ( 1 - t ) * ( 1 - t ) +
18+
3 * p1 * ( 1 - t ) * ( 1 - t ) - 6 * t * p1 * ( 1 - t ) +
19+
6 * t * p2 * ( 1 - t ) - 3 * t * t * p2 +
20+
3 * t * t * p3;
21+
22+
},
23+
24+
tangentSpline: function ( t, p0, p1, p2, p3 ) {
25+
26+
// To check if my formulas are correct
27+
28+
var h00 = 6 * t * t - 6 * t; // derived from 2t^3 − 3t^2 + 1
29+
var h10 = 3 * t * t - 4 * t + 1; // t^3 − 2t^2 + t
30+
var h01 = - 6 * t * t + 6 * t; // − 2t3 + 3t2
31+
var h11 = 3 * t * t - 2 * t; // t3 − t2
32+
33+
return h00 + h10 + h01 + h11;
34+
35+
},
36+
37+
// Catmull-Rom
38+
39+
interpolate: function( p0, p1, p2, p3, t ) {
40+
41+
var v0 = ( p2 - p0 ) * 0.5;
42+
var v1 = ( p3 - p1 ) * 0.5;
43+
var t2 = t * t;
44+
var t3 = t * t2;
45+
return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1;
46+
47+
}
48+
49+
};

src/extras/core/Curve.js

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -266,56 +266,7 @@ THREE.Curve.prototype = {
266266

267267
}
268268

269-
/**************************************************************
270-
* Utils
271-
**************************************************************/
272-
273-
THREE.Curve.Utils = {
274-
275-
tangentQuadraticBezier: function ( t, p0, p1, p2 ) {
276-
277-
return 2 * ( 1 - t ) * ( p1 - p0 ) + 2 * t * ( p2 - p1 );
278-
279-
},
280-
281-
// Puay Bing, thanks for helping with this derivative!
282-
283-
tangentCubicBezier: function ( t, p0, p1, p2, p3 ) {
284-
285-
return - 3 * p0 * ( 1 - t ) * ( 1 - t ) +
286-
3 * p1 * ( 1 - t ) * ( 1 - t ) - 6 * t * p1 * ( 1 - t ) +
287-
6 * t * p2 * ( 1 - t ) - 3 * t * t * p2 +
288-
3 * t * t * p3;
289-
290-
},
291-
292-
tangentSpline: function ( t, p0, p1, p2, p3 ) {
293-
294-
// To check if my formulas are correct
295-
296-
var h00 = 6 * t * t - 6 * t; // derived from 2t^3 − 3t^2 + 1
297-
var h10 = 3 * t * t - 4 * t + 1; // t^3 − 2t^2 + t
298-
var h01 = - 6 * t * t + 6 * t; // − 2t3 + 3t2
299-
var h11 = 3 * t * t - 2 * t; // t3 − t2
300-
301-
return h00 + h10 + h01 + h11;
302-
303-
},
304-
305-
// Catmull-Rom
306-
307-
interpolate: function( p0, p1, p2, p3, t ) {
308-
309-
var v0 = ( p2 - p0 ) * 0.5;
310-
var v1 = ( p3 - p1 ) * 0.5;
311-
var t2 = t * t;
312-
var t3 = t * t2;
313-
return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1;
314-
315-
}
316-
317-
};
318-
269+
THREE.Curve.Utils = THREE.CurveUtils; // backwards compatibility
319270

320271
// TODO: Transformation for Curves?
321272

0 commit comments

Comments
 (0)