some sort of error screen impl

This commit is contained in:
minjaesong
2017-08-20 22:10:47 +09:00
parent 99d8b5b7f2
commit 7a442f26fa
29 changed files with 555 additions and 169 deletions

View File

@@ -304,6 +304,27 @@ final public class FastMath {
}
public static float interpolateHermite(float scale, float p0, float p1, float p2, float p3) {
return interpolateHermite(scale, p0, p1, p2, p3, 1f, 0f);
}
public static float interpolateHermite(float scale, float p0, float p1, float p2, float p3, float tension, float bias) {
float mu2 = scale * scale;
float mu3 = mu2 * scale;
float m0 = (p1 - p0) * (1f + bias) * (1f - tension) / 2f;
m0 += (p2 - p1) * (1f + bias) * (1f - tension) / 2f;
float m1 = (p2 - p1) * (1f + bias) * (1f - tension) / 2f;
m1 += (p3 - p2) * (1f + bias) * (1f - tension) / 2f;
float a0 = 2 * mu3 - 3 * mu2 + 1;
float a1 = mu3 - 2 * mu2 + scale;
float a2 = mu3 - mu2;
float a3 = -2 * mu3 + 3 * mu2;
return a0 * p1 + a1 * m0 + a2 * m1 + a3 * p2;
}
/**
* Returns the arc cosine of an angle given in radians.<br>
* Special cases: