免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

自定義貝塞爾插值器

 印度阿三17 2019-11-22


import android.graphics.PointF;
import android.view.animation.Interpolator;



/**

* 緩動(dòng)三次方曲線插值器.(基于三次方貝塞爾曲線)

*/


public class EaseCubicInterpolator implements Interpolator {



private final static int ACCURACY = 4096;

private int mLastI = 0;

private final PointF mControlPoint1 = new PointF();

private final PointF mControlPoint2 = new PointF();



/**

* 設(shè)置中間兩個(gè)控制點(diǎn).<br>

* 在線工具: http:///<br>

*

* @param x1

* @param y1

* @param x2

* @param y2

*/

public EaseCubicInterpolator(float x1, float y1, float x2, float y2) {

mControlPoint1.x = x1;

mControlPoint1.y = y1;

mControlPoint2.x = x2;

mControlPoint2.y = y2;

}



@Override

public float getInterpolation(float input) {

float t = input;

// 近似求解t的值[0,1]

for (int i = mLastI; i < ACCURACY; i ) {

t = 1.0f * i / ACCURACY;

double x = cubicCurves(t, 0, mControlPoint1.x, mControlPoint2.x, 1);

if (x >= input) {

mLastI = i;

break;

}

}

double value = cubicCurves(t, 0, mControlPoint1.y, mControlPoint2.y, 1);

if (value > 0.999d) {

value = 1;

mLastI = 0;

}

return (float) value;

}



/**

* 求三次貝塞爾曲線(四個(gè)控制點(diǎn))一個(gè)點(diǎn)某個(gè)維度的值.<br>

* 參考資料: <em> http:///2011/04/05/bzier-curves-a-tutorial/ </em>

*

* @param t

* 取值[0, 1]

* @param value0

* @param value1

* @param value2

* @param value3

* @return

*/

public static double cubicCurves(double t, double value0, double value1,

double value2, double value3) {

double value;

double u = 1 - t;

double tt = t * t;

double uu = u * u;

double uuu = uu * u;

double ttt = tt * t;



value = uuu * value0;

value = 3 * uu * t * value1;

value = 3 * u * tt * value2;

value = ttt * value3;

return value;

}

}


Android開(kāi)發(fā) - 圖形化生成的貝塞爾插值器

 

基于三次方貝塞爾曲線的插值器

在動(dòng)畫(huà)開(kāi)發(fā)過(guò)程中,經(jīng)常需要使用到插值器來(lái)滿足我們的動(dòng)畫(huà)設(shè)計(jì)需求。然而,官方提供的插值器并不能滿足所有的需求,所以我們需要自定義插值器。
下面介紹的三次方貝塞爾曲線的插值器,主要可用于實(shí)現(xiàn)連續(xù)曲線的動(dòng)畫(huà)。
關(guān)于貝塞爾曲線的介紹,請(qǐng)移步百度。

繪制滿足設(shè)計(jì)的動(dòng)畫(huà)曲線

1.先使用貝塞爾曲線數(shù)值生成工具來(lái)獲取想要的曲線數(shù)值

工具網(wǎng)站:

使用教程:

  1. 拉拽左邊圖像的2個(gè)點(diǎn),調(diào)整出符合效果的圖形

  2. 點(diǎn)擊右上角的Save按鈕,將4個(gè)參數(shù)運(yùn)用到下面的代碼中。

   

2.代碼運(yùn)用

new EaseCubicInterpolator(0.31f, 0.85f,0.77f, 0.14f);
來(lái)源:https://www./content-4-574601.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多