package com.pau101.util; /** * @author Paul Fulham (pau101) */ public class CubicBezier { private float[][] controlPoints; public CubicBezier(float a1, float b1, float a2, float b2) { controlPoints = new float[4][]; controlPoints[0] = new float[] { 0, 0 }; controlPoints[1] = new float[] { a1, b1 }; controlPoints[2] = new float[] { a2, b2 }; controlPoints[3] = new float[] { 1, 1 }; } public float eval(float t) { float[] scalars = new float[4]; BezierUtils.allBernstein(3, t, scalars); float p = 0; for (int i = 0; i < 4; i++) p += scalars[i] * controlPoints[i][1]; return p; } }