QuadraticBezierCurve.js 795 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { Curve } from '../core/Curve.js';
  2. import { QuadraticBezier } from '../core/Interpolations.js';
  3. import { Vector2 } from '../../math/Vector2.js';
  4. function QuadraticBezierCurve( v0, v1, v2 ) {
  5. Curve.call( this );
  6. this.v0 = v0;
  7. this.v1 = v1;
  8. this.v2 = v2;
  9. }
  10. QuadraticBezierCurve.prototype = Object.create( Curve.prototype );
  11. QuadraticBezierCurve.prototype.constructor = QuadraticBezierCurve;
  12. QuadraticBezierCurve.prototype.isQuadraticBezierCurve = true;
  13. QuadraticBezierCurve.prototype.getPoint = function ( t, optionalTarget ) {
  14. var point = optionalTarget || new Vector2();
  15. var v0 = this.v0, v1 = this.v1, v2 = this.v2;
  16. point.set(
  17. QuadraticBezier( t, v0.x, v1.x, v2.x ),
  18. QuadraticBezier( t, v0.y, v1.y, v2.y )
  19. );
  20. return point;
  21. };
  22. export { QuadraticBezierCurve };